@cryptotaxi247 / kubo / commits / f0f88adea

completely remove go-key dep

License: MIT Signed-off-by: Jeromy <why@ipfs.io>

Jeromy committed Nov 28, 2016 at 21:42 UTC f0f88adea0b1d8b1e8246c502133db2df85df64b
13 files changed +55 -124
core/builder.go
+4 -4
@@ -1,6 +1,7 @@
1 package core
2
3 import (
4 + "context"
5 "crypto/rand"
6 "encoding/base64"
7 "errors"
@@ -17,14 +18,13 @@ import (
18 repo "github.com/ipfs/go-ipfs/repo"
19 cfg "github.com/ipfs/go-ipfs/repo/config"
20
20 - context "context"
21 retry "gx/ipfs/QmPF5kxTYFkzhaY5LmkExood7aTTZBHWQC6cjdDQBuGrjp/retry-datastore"
22 metrics "gx/ipfs/QmRg1gKTHzc3CZXSKzem8aR4E3TubFhbgXwfVuWnSK5CC5/go-metrics-interface"
23 goprocessctx "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess/context"
24 pstore "gx/ipfs/QmXXCcQ7CLg5a81Ui9TTR35QcR4y7ZyihxwfjqaHfUVcVo/go-libp2p-peerstore"
25 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
25 ds "gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore"
26 dsync "gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore/sync"
27 + peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
28 ci "gx/ipfs/QmfWDLQjGjVe4fr5CoztYW2DYYjRysMJrFe1RCsXLPTf46/go-libp2p-crypto"
29 )
30
@@ -91,7 +91,7 @@ func defaultRepo(dstore repo.Datastore) (repo.Repo, error) {
91 return nil, err
92 }
93
94 - data, err := pub.Hash()
94 + pid, err := peer.IDFromPublicKey(pub)
95 if err != nil {
96 return nil, err
97 }
@@ -103,7 +103,7 @@ func defaultRepo(dstore repo.Datastore) (repo.Repo, error) {
103
104 c.Bootstrap = cfg.DefaultBootstrapAddresses
105 c.Addresses.Swarm = []string{"/ip4/0.0.0.0/tcp/4001"}
106 - c.Identity.PeerID = key.Key(data).B58String()
106 + c.Identity.PeerID = pid.Pretty()
107 c.Identity.PrivKey = base64.StdEncoding.EncodeToString(privkeyb)
108
109 return &repo.Mock{
core/commands/publish.go
+5 -5
@@ -1,18 +1,18 @@
1 package commands
2
3 import (
4 + "context"
5 "errors"
6 "fmt"
7 "io"
8 "strings"
9 "time"
10
10 - context "context"
11 -
11 cmds "github.com/ipfs/go-ipfs/commands"
12 core "github.com/ipfs/go-ipfs/core"
13 path "github.com/ipfs/go-ipfs/path"
15 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
14 +
15 + peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
16 crypto "gx/ipfs/QmfWDLQjGjVe4fr5CoztYW2DYYjRysMJrFe1RCsXLPTf46/go-libp2p-crypto"
17 )
18
@@ -147,13 +147,13 @@ func publish(ctx context.Context, n *core.IpfsNode, k crypto.PrivKey, ref path.P
147 return nil, err
148 }
149
150 - hash, err := k.GetPublic().Hash()
150 + pid, err := peer.IDFromPrivateKey(k)
151 if err != nil {
152 return nil, err
153 }
154
155 return &IpnsEntry{
156 - Name: key.Key(hash).String(),
156 + Name: pid.Pretty(),
157 Value: ref.String(),
158 }, nil
159 }
fuse/ipns/ipns_unix.go
+8 -8
@@ -5,22 +5,23 @@
5 package ipns
6
7 import (
8 + "context"
9 "errors"
10 "fmt"
11 "os"
12
12 - "context"
13 fuse "github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse"
14 fs "github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs"
15 - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
15
16 core "github.com/ipfs/go-ipfs/core"
17 dag "github.com/ipfs/go-ipfs/merkledag"
18 mfs "github.com/ipfs/go-ipfs/mfs"
19 path "github.com/ipfs/go-ipfs/path"
20 ft "github.com/ipfs/go-ipfs/unixfs"
22 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
21 +
22 + logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
23 cid "gx/ipfs/QmcEcrBAMrwMyhSjXt4yfyPpzgSuV8HLHavnfmiKCSRqZU/go-cid"
24 + peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
25 ci "gx/ipfs/QmfWDLQjGjVe4fr5CoztYW2DYYjRysMJrFe1RCsXLPTf46/go-libp2p-crypto"
26 )
27
@@ -135,11 +136,11 @@ func CreateRoot(ipfs *core.IpfsNode, keys map[string]ci.PrivKey, ipfspath, ipnsp
136 roots := make(map[string]*keyRoot)
137 links := make(map[string]*Link)
138 for alias, k := range keys {
138 - pkh, err := k.GetPublic().Hash()
139 + pid, err := peer.IDFromPrivateKey(k)
140 if err != nil {
141 return nil, err
142 }
142 - name := key.Key(pkh).B58String()
143 + name := pid.Pretty()
144
145 kr := &keyRoot{k: k, alias: alias}
146 fsn, err := loadRoot(ipfs.Context(), kr, ipfs, name)
@@ -241,13 +242,12 @@ func (r *Root) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) {
242
243 var listing []fuse.Dirent
244 for alias, k := range r.Keys {
244 - pub := k.GetPublic()
245 - hash, err := pub.Hash()
245 + pid, err := peer.IDFromPrivateKey(k)
246 if err != nil {
247 continue
248 }
249 ent := fuse.Dirent{
250 - Name: key.Key(hash).B58String(),
250 + Name: pid.Pretty(),
251 Type: fuse.DT_Dir,
252 }
253 link := fuse.Dirent{
merkledag/merkledag_test.go
+4 -5
@@ -22,7 +22,6 @@ import (
22 uio "github.com/ipfs/go-ipfs/unixfs/io"
23
24 node "gx/ipfs/QmUsVJ7AEnGyjX8YWnrwq9vmECVGwBQNAKPpgz5KSg8dcq/go-ipld-node"
25 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
25 u "gx/ipfs/Qmb912gdngC1UWwTkhuW8knyRbcWeu5kqkxBpveLmW8bSr/go-ipfs-util"
26 cid "gx/ipfs/QmcEcrBAMrwMyhSjXt4yfyPpzgSuV8HLHavnfmiKCSRqZU/go-cid"
27 )
@@ -56,8 +55,8 @@ func TestNode(t *testing.T) {
55 }
56
57 h := n.Multihash()
59 - k := n.Key()
60 - if k != key.Key(h) {
58 + k := n.Cid().Hash()
59 + if k.String() != h.String() {
60 t.Error("Key is not equivalent to multihash")
61 } else {
62 fmt.Println("key: ", k)
@@ -84,7 +83,7 @@ func SubtestNodeStat(t *testing.T, n *ProtoNode) {
83 return
84 }
85
87 - k := n.Key()
86 + k := n.Cid()
87
88 expected := node.NodeStat{
89 NumLinks: len(n.Links()),
@@ -92,7 +91,7 @@ func SubtestNodeStat(t *testing.T, n *ProtoNode) {
91 LinksSize: len(enc) - len(n.Data()), // includes framing.
92 DataSize: len(n.Data()),
93 CumulativeSize: int(cumSize),
95 - Hash: k.B58String(),
94 + Hash: k.String(),
95 }
96
97 actual, err := n.Stat()
merkledag/node.go
+1 -6
@@ -6,7 +6,6 @@ import (
6
7 node "gx/ipfs/QmUsVJ7AEnGyjX8YWnrwq9vmECVGwBQNAKPpgz5KSg8dcq/go-ipld-node"
8 mh "gx/ipfs/QmYDds3421prZgqKbLpEK7T9Aa2eVdQ7o3YarX1LVLdP2J/go-multihash"
9 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
9 cid "gx/ipfs/QmcEcrBAMrwMyhSjXt4yfyPpzgSuV8HLHavnfmiKCSRqZU/go-cid"
10 )
11
@@ -204,7 +203,7 @@ func (n *ProtoNode) Stat() (*node.NodeStat, error) {
203 }
204
205 return &node.NodeStat{
207 - Hash: n.Key().B58String(),
206 + Hash: n.Cid().String(),
207 NumLinks: len(n.links),
208 BlockSize: len(enc),
209 LinksSize: len(enc) - len(n.data), // includes framing.
@@ -213,10 +212,6 @@ func (n *ProtoNode) Stat() (*node.NodeStat, error) {
212 }, nil
213 }
214
216 -func (n *ProtoNode) Key() key.Key {
217 - return key.Key(n.Multihash())
218 -}
219 -
215 func (n *ProtoNode) Loggable() map[string]interface{} {
216 return map[string]interface{}{
217 "node": n.String(),
namesys/resolve_test.go
+4 -6
@@ -1,16 +1,15 @@
1 package namesys
2
3 import (
4 + "context"
5 "errors"
6 "testing"
7 "time"
8
8 - context "context"
9 path "github.com/ipfs/go-ipfs/path"
10 mockrouting "github.com/ipfs/go-ipfs/routing/mock"
11 testutil "github.com/ipfs/go-ipfs/thirdparty/testutil"
12 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
13 - u "gx/ipfs/Qmb912gdngC1UWwTkhuW8knyRbcWeu5kqkxBpveLmW8bSr/go-ipfs-util"
12 +
13 ds "gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore"
14 dssync "gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore/sync"
15 peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
@@ -36,13 +35,12 @@ func TestRoutingResolve(t *testing.T) {
35 t.Fatal(err)
36 }
37
39 - pubkb, err := pubk.Bytes()
38 + pid, err := peer.IDFromPublicKey(pubk)
39 if err != nil {
40 t.Fatal(err)
41 }
42
44 - pkhash := u.Hash(pubkb)
45 - res, err := resolver.Resolve(context.Background(), key.Key(pkhash).B58String())
43 + res, err := resolver.Resolve(context.Background(), pid.Pretty())
44 if err != nil {
45 t.Fatal(err)
46 }
namesys/routing.go
+5 -10
@@ -1,21 +1,19 @@
1 package namesys
2
3 import (
4 + "context"
5 "fmt"
6 "strings"
7 "time"
8
8 - "context"
9 - lru "gx/ipfs/QmVYxfoJQiZijTgPNHCHgHELvQpbsJNTg6Crmc3dQkj3yy/golang-lru"
10 - mh "gx/ipfs/QmYDds3421prZgqKbLpEK7T9Aa2eVdQ7o3YarX1LVLdP2J/go-multihash"
11 - proto "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
12 -
9 pb "github.com/ipfs/go-ipfs/namesys/pb"
10 path "github.com/ipfs/go-ipfs/path"
15 - routing "gx/ipfs/QmUrCwTDvJgmBbJVHu1HGEyqDaod3dR6sEkZkpxZk4u47c/go-libp2p-routing"
16 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
11
12 logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
13 + routing "gx/ipfs/QmUrCwTDvJgmBbJVHu1HGEyqDaod3dR6sEkZkpxZk4u47c/go-libp2p-routing"
14 + lru "gx/ipfs/QmVYxfoJQiZijTgPNHCHgHELvQpbsJNTg6Crmc3dQkj3yy/golang-lru"
15 + mh "gx/ipfs/QmYDds3421prZgqKbLpEK7T9Aa2eVdQ7o3YarX1LVLdP2J/go-multihash"
16 + proto "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
17 u "gx/ipfs/Qmb912gdngC1UWwTkhuW8knyRbcWeu5kqkxBpveLmW8bSr/go-ipfs-util"
18 cid "gx/ipfs/QmcEcrBAMrwMyhSjXt4yfyPpzgSuV8HLHavnfmiKCSRqZU/go-cid"
19 ci "gx/ipfs/QmfWDLQjGjVe4fr5CoztYW2DYYjRysMJrFe1RCsXLPTf46/go-libp2p-crypto"
@@ -179,9 +177,6 @@ func (r *routingResolver) resolveOnce(ctx context.Context, name string) (path.Pa
177 }
178 }
179
182 - hsh, _ := pubkey.Hash()
183 - log.Debugf("pk hash = %s", key.Key(hsh))
184 -
180 // check sig with pk
181 if ok, err := pubkey.Verify(ipnsEntryDataForSig(entry), entry.GetSignature()); err != nil || !ok {
182 return "", fmt.Errorf("Invalid value. Not signed by PrivateKey corresponding to %v", pubkey)
package.json
-6
@@ -211,12 +211,6 @@
211 "name": "go-cid",
212 "version": "0.7.5"
213 },
214 - {
215 - "author": "whyrusleeping",
216 - "hash": "QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9",
217 - "name": "go-key",
218 - "version": "1.0.3"
219 - },
214 {
215 "author": "whyrusleeping",
216 "hash": "QmU4VzzKNLJXJ72SedXBQKyf5Jo8W89iWpbWQjHn9qef8N",
path/resolver_test.go
+7 -8
@@ -10,25 +10,23 @@ import (
10 path "github.com/ipfs/go-ipfs/path"
11
12 node "gx/ipfs/QmUsVJ7AEnGyjX8YWnrwq9vmECVGwBQNAKPpgz5KSg8dcq/go-ipld-node"
13 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
13 util "gx/ipfs/Qmb912gdngC1UWwTkhuW8knyRbcWeu5kqkxBpveLmW8bSr/go-ipfs-util"
14 )
15
17 -func randNode() (*merkledag.ProtoNode, key.Key) {
16 +func randNode() *merkledag.ProtoNode {
17 node := new(merkledag.ProtoNode)
18 node.SetData(make([]byte, 32))
19 util.NewTimeSeededRand().Read(node.Data())
21 - k := node.Key()
22 - return node, k
20 + return node
21 }
22
23 func TestRecurivePathResolution(t *testing.T) {
24 ctx := context.Background()
25 dagService := dagmock.Mock()
26
29 - a, _ := randNode()
30 - b, _ := randNode()
31 - c, cKey := randNode()
27 + a := randNode()
28 + b := randNode()
29 + c := randNode()
30
31 err := b.AddNodeLink("grandchild", c)
32 if err != nil {
@@ -47,7 +45,7 @@ func TestRecurivePathResolution(t *testing.T) {
45 }
46 }
47
50 - aKey := a.Key()
48 + aKey := a.Cid()
49
50 segments := []string{aKey.String(), "child", "grandchild"}
51 p, err := path.FromSegments("/ipfs/", segments...)
@@ -61,6 +59,7 @@ func TestRecurivePathResolution(t *testing.T) {
59 t.Fatal(err)
60 }
61
62 + cKey := c.Cid()
63 key := node.Cid()
64 if key.String() != cKey.String() {
65 t.Fatal(fmt.Errorf(
pin/indirect.go deleted
-39
@@ -1,39 +0,0 @@
1 -package pin
2 -
3 -import (
4 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
5 -)
6 -
7 -type indirectPin struct {
8 - refCounts map[key.Key]uint64
9 -}
10 -
11 -func newIndirectPin() *indirectPin {
12 - return &indirectPin{
13 - refCounts: make(map[key.Key]uint64),
14 - }
15 -}
16 -
17 -func (i *indirectPin) Increment(k key.Key) {
18 - i.refCounts[k]++
19 -}
20 -
21 -func (i *indirectPin) Decrement(k key.Key) {
22 - if i.refCounts[k] == 0 {
23 - log.Warningf("pinning: bad call: asked to unpin nonexistent indirect key: %v", k)
24 - return
25 - }
26 - i.refCounts[k]--
27 - if i.refCounts[k] == 0 {
28 - delete(i.refCounts, k)
29 - }
30 -}
31 -
32 -func (i *indirectPin) HasKey(k key.Key) bool {
33 - _, found := i.refCounts[k]
34 - return found
35 -}
36 -
37 -func (i *indirectPin) GetRefs() map[key.Key]uint64 {
38 - return i.refCounts
39 -}
pin/set.go
-9
@@ -14,7 +14,6 @@ import (
14 "github.com/ipfs/go-ipfs/pin/internal/pb"
15
16 node "gx/ipfs/QmUsVJ7AEnGyjX8YWnrwq9vmECVGwBQNAKPpgz5KSg8dcq/go-ipld-node"
17 - "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
17 "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
18 cid "gx/ipfs/QmcEcrBAMrwMyhSjXt4yfyPpzgSuV8HLHavnfmiKCSRqZU/go-cid"
19 )
@@ -308,11 +307,3 @@ func storeSet(ctx context.Context, dag merkledag.DAGService, cids []*cid.Cid, in
307 internalKeys(c)
308 return n, nil
309 }
311 -
312 -func copyRefcounts(orig map[key.Key]uint64) map[key.Key]uint64 {
313 - r := make(map[key.Key]uint64, len(orig))
314 - for k, v := range orig {
315 - r[k] = v
316 - }
317 - return r
318 -}
routing/supernode/server.go
+16 -16
@@ -1,14 +1,14 @@
1 package supernode
2
3 import (
4 + "context"
5 "errors"
6 "fmt"
7
8 proxy "github.com/ipfs/go-ipfs/routing/supernode/proxy"
9 + dshelp "github.com/ipfs/go-ipfs/thirdparty/ds-help"
10
9 - context "context"
11 pstore "gx/ipfs/QmXXCcQ7CLg5a81Ui9TTR35QcR4y7ZyihxwfjqaHfUVcVo/go-libp2p-peerstore"
11 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
12 proto "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
13 dhtpb "gx/ipfs/QmaMRCpeKL34rdT7t3bEndrENbVdD6gcCZr3YdkDUk6jue/go-libp2p-kad-dht/pb"
14 datastore "gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore"
@@ -55,7 +55,7 @@ func (s *Server) handleMessage(
55 switch req.GetType() {
56
57 case dhtpb.Message_GET_VALUE:
58 - rawRecord, err := getRoutingRecord(s.routingBackend, key.Key(req.GetKey()))
58 + rawRecord, err := getRoutingRecord(s.routingBackend, req.GetKey())
59 if err != nil {
60 return "", nil
61 }
@@ -69,7 +69,7 @@ func (s *Server) handleMessage(
69 // log.Event(ctx, "validationFailed", req, p)
70 // return "", nil
71 // }
72 - putRoutingRecord(s.routingBackend, key.Key(req.GetKey()), req.GetRecord())
72 + putRoutingRecord(s.routingBackend, req.GetKey(), req.GetRecord())
73 return p, req
74
75 case dhtpb.Message_FIND_NODE:
@@ -89,7 +89,7 @@ func (s *Server) handleMessage(
89 if providerID == p {
90 store := []*dhtpb.Message_Peer{provider}
91 storeProvidersToPeerstore(s.peerstore, p, store)
92 - if err := putRoutingProviders(s.routingBackend, key.Key(req.GetKey()), store); err != nil {
92 + if err := putRoutingProviders(s.routingBackend, req.GetKey(), store); err != nil {
93 return "", nil
94 }
95 } else {
@@ -99,7 +99,7 @@ func (s *Server) handleMessage(
99 return "", nil
100
101 case dhtpb.Message_GET_PROVIDERS:
102 - providers, err := getRoutingProviders(s.routingBackend, key.Key(req.GetKey()))
102 + providers, err := getRoutingProviders(s.routingBackend, req.GetKey())
103 if err != nil {
104 return "", nil
105 }
@@ -116,8 +116,8 @@ func (s *Server) handleMessage(
116 var _ proxy.RequestHandler = &Server{}
117 var _ proxy.Proxy = &Server{}
118
119 -func getRoutingRecord(ds datastore.Datastore, k key.Key) (*pb.Record, error) {
120 - dskey := k.DsKey()
119 +func getRoutingRecord(ds datastore.Datastore, k string) (*pb.Record, error) {
120 + dskey := dshelp.NewKeyFromBinary(k)
121 val, err := ds.Get(dskey)
122 if err != nil {
123 return nil, err
@@ -133,12 +133,12 @@ func getRoutingRecord(ds datastore.Datastore, k key.Key) (*pb.Record, error) {
133 return &record, nil
134 }
135
136 -func putRoutingRecord(ds datastore.Datastore, k key.Key, value *pb.Record) error {
136 +func putRoutingRecord(ds datastore.Datastore, k string, value *pb.Record) error {
137 data, err := proto.Marshal(value)
138 if err != nil {
139 return err
140 }
141 - dskey := k.DsKey()
141 + dskey := dshelp.NewKeyFromBinary(k)
142 // TODO namespace
143 if err := ds.Put(dskey, data); err != nil {
144 return err
@@ -146,8 +146,8 @@ func putRoutingRecord(ds datastore.Datastore, k key.Key, value *pb.Record) error
146 return nil
147 }
148
149 -func putRoutingProviders(ds datastore.Datastore, k key.Key, newRecords []*dhtpb.Message_Peer) error {
150 - log.Event(context.Background(), "putRoutingProviders", &k)
149 +func putRoutingProviders(ds datastore.Datastore, k string, newRecords []*dhtpb.Message_Peer) error {
150 + log.Event(context.Background(), "putRoutingProviders")
151 oldRecords, err := getRoutingProviders(ds, k)
152 if err != nil {
153 return err
@@ -185,8 +185,8 @@ func storeProvidersToPeerstore(ps pstore.Peerstore, p peer.ID, providers []*dhtp
185 }
186 }
187
188 -func getRoutingProviders(ds datastore.Datastore, k key.Key) ([]*dhtpb.Message_Peer, error) {
189 - e := log.EventBegin(context.Background(), "getProviders", &k)
188 +func getRoutingProviders(ds datastore.Datastore, k string) ([]*dhtpb.Message_Peer, error) {
189 + e := log.EventBegin(context.Background(), "getProviders")
190 defer e.Done()
191 var providers []*dhtpb.Message_Peer
192 if v, err := ds.Get(providerKey(k)); err == nil {
@@ -201,8 +201,8 @@ func getRoutingProviders(ds datastore.Datastore, k key.Key) ([]*dhtpb.Message_Pe
201 return providers, nil
202 }
203
204 -func providerKey(k key.Key) datastore.Key {
205 - return datastore.KeyWithNamespaces([]string{"routing", "providers", k.String()})
204 +func providerKey(k string) datastore.Key {
205 + return datastore.KeyWithNamespaces([]string{"routing", "providers", k})
206 }
207
208 func verify(ps pstore.Peerstore, r *pb.Record) error {
routing/supernode/server_test.go
+1 -2
@@ -3,14 +3,13 @@ package supernode
3 import (
4 "testing"
5
6 - key "gx/ipfs/QmYEoKZXHoAToWfhGF3vryhMn3WWhE1o2MasQ8uzY5iDi9/go-key"
6 dhtpb "gx/ipfs/QmaMRCpeKL34rdT7t3bEndrENbVdD6gcCZr3YdkDUk6jue/go-libp2p-kad-dht/pb"
7 datastore "gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore"
8 )
9
10 func TestPutProviderDoesntResultInDuplicates(t *testing.T) {
11 routingBackend := datastore.NewMapDatastore()
13 - k := key.Key("foo")
12 + k := "foo"
13 put := []*dhtpb.Message_Peer{
14 convPeer("bob", "127.0.0.1/tcp/4001"),
15 convPeer("alice", "10.0.0.10/tcp/4001"),