@cryptotaxi247 / kubo / commits / e8c285217

migrate to go-libp2p-core.

closes #6391 License: MIT Signed-off-by: Raúl Kripalani <raul@protocol.ai>

Raúl Kripalani committed May 28, 2019 at 17:21 UTC e8c2852179b03a95c8d198895b246b1e3ffaeed8
78 files changed +563 -472
cmd/seccat/seccat.go
+3 -3
@@ -20,9 +20,9 @@ import (
20 "syscall"
21
22 logging "github.com/ipfs/go-log"
23 - ci "github.com/libp2p/go-libp2p-crypto"
24 - peer "github.com/libp2p/go-libp2p-peer"
25 - pstore "github.com/libp2p/go-libp2p-peerstore"
23 + ci "github.com/libp2p/go-libp2p-core/crypto"
24 + peer "github.com/libp2p/go-libp2p-core/peer"
25 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
26 pstoremem "github.com/libp2p/go-libp2p-peerstore/pstoremem"
27 secio "github.com/libp2p/go-libp2p-secio"
28 )
core/bootstrap/bootstrap.go
+19 -19
@@ -14,12 +14,12 @@ import (
14 "github.com/jbenet/goprocess"
15 "github.com/jbenet/goprocess/context"
16 "github.com/jbenet/goprocess/periodic"
17 - "github.com/libp2p/go-libp2p-host"
17 + "github.com/libp2p/go-libp2p-core/host"
18 + "github.com/libp2p/go-libp2p-core/network"
19 + "github.com/libp2p/go-libp2p-core/peer"
20 + "github.com/libp2p/go-libp2p-core/peerstore"
21 + "github.com/libp2p/go-libp2p-core/routing"
22 "github.com/libp2p/go-libp2p-loggables"
19 - "github.com/libp2p/go-libp2p-net"
20 - "github.com/libp2p/go-libp2p-peer"
21 - "github.com/libp2p/go-libp2p-peerstore"
22 - "github.com/libp2p/go-libp2p-routing"
23 )
24
25 var log = logging.Logger("bootstrap")
@@ -51,7 +51,7 @@ type BootstrapConfig struct {
51 // BootstrapPeers is a function that returns a set of bootstrap peers
52 // for the bootstrap process to use. This makes it possible for clients
53 // to control the peers the process uses at any moment.
54 - BootstrapPeers func() []peerstore.PeerInfo
54 + BootstrapPeers func() []peer.AddrInfo
55 }
56
57 // DefaultBootstrapConfig specifies default sane parameters for bootstrapping.
@@ -61,9 +61,9 @@ var DefaultBootstrapConfig = BootstrapConfig{
61 ConnectionTimeout: (30 * time.Second) / 3, // Perod / 3
62 }
63
64 -func BootstrapConfigWithPeers(pis []peerstore.PeerInfo) BootstrapConfig {
64 +func BootstrapConfigWithPeers(pis []peer.AddrInfo) BootstrapConfig {
65 cfg := DefaultBootstrapConfig
66 - cfg.BootstrapPeers = func() []peerstore.PeerInfo {
66 + cfg.BootstrapPeers = func() []peer.AddrInfo {
67 return pis
68 }
69 return cfg
@@ -73,7 +73,7 @@ func BootstrapConfigWithPeers(pis []peerstore.PeerInfo) BootstrapConfig {
73 // check the number of open connections and -- if there are too few -- initiate
74 // connections to well-known bootstrap peers. It also kicks off subsystem
75 // bootstrapping (i.e. routing).
76 -func Bootstrap(id peer.ID, host host.Host, rt routing.IpfsRouting, cfg BootstrapConfig) (io.Closer, error) {
76 +func Bootstrap(id peer.ID, host host.Host, rt routing.Routing, cfg BootstrapConfig) (io.Closer, error) {
77
78 // make a signal to wait for one bootstrap round to complete.
79 doneWithRound := make(chan struct{})
@@ -135,9 +135,9 @@ func bootstrapRound(ctx context.Context, host host.Host, cfg BootstrapConfig) er
135 numToDial := cfg.MinPeerThreshold - len(connected)
136
137 // filter out bootstrap nodes we are already connected to
138 - var notConnected []peerstore.PeerInfo
138 + var notConnected []peer.AddrInfo
139 for _, p := range peers {
140 - if host.Network().Connectedness(p.ID) != net.Connected {
140 + if host.Network().Connectedness(p.ID) != network.Connected {
141 notConnected = append(notConnected, p)
142 }
143 }
@@ -156,7 +156,7 @@ func bootstrapRound(ctx context.Context, host host.Host, cfg BootstrapConfig) er
156 return bootstrapConnect(ctx, host, randSubset)
157 }
158
159 -func bootstrapConnect(ctx context.Context, ph host.Host, peers []peerstore.PeerInfo) error {
159 +func bootstrapConnect(ctx context.Context, ph host.Host, peers []peer.AddrInfo) error {
160 if len(peers) < 1 {
161 return ErrNotEnoughBootstrapPeers
162 }
@@ -171,7 +171,7 @@ func bootstrapConnect(ctx context.Context, ph host.Host, peers []peerstore.PeerI
171 // Also, performed asynchronously for dial speed.
172
173 wg.Add(1)
174 - go func(p peerstore.PeerInfo) {
174 + go func(p peer.AddrInfo) {
175 defer wg.Done()
176 defer log.EventBegin(ctx, "bootstrapDial", ph.ID(), p.ID).Done()
177 log.Debugf("%s bootstrapping to %s", ph.ID(), p.ID)
@@ -205,12 +205,12 @@ func bootstrapConnect(ctx context.Context, ph host.Host, peers []peerstore.PeerI
205 return nil
206 }
207
208 -func randomSubsetOfPeers(in []peerstore.PeerInfo, max int) []peerstore.PeerInfo {
208 +func randomSubsetOfPeers(in []peer.AddrInfo, max int) []peer.AddrInfo {
209 if max > len(in) {
210 max = len(in)
211 }
212
213 - out := make([]peerstore.PeerInfo, max)
213 + out := make([]peer.AddrInfo, max)
214 for i, val := range rand.Perm(len(in))[:max] {
215 out[i] = in[val]
216 }
@@ -219,12 +219,12 @@ func randomSubsetOfPeers(in []peerstore.PeerInfo, max int) []peerstore.PeerInfo
219
220 type Peers []config.BootstrapPeer
221
222 -func (bpeers Peers) ToPeerInfos() []peerstore.PeerInfo {
223 - pinfos := make(map[peer.ID]*peerstore.PeerInfo)
222 +func (bpeers Peers) ToPeerInfos() []peer.AddrInfo {
223 + pinfos := make(map[peer.ID]*peer.AddrInfo)
224 for _, bootstrap := range bpeers {
225 pinfo, ok := pinfos[bootstrap.ID()]
226 if !ok {
227 - pinfo = new(peerstore.PeerInfo)
227 + pinfo = new(peer.AddrInfo)
228 pinfos[bootstrap.ID()] = pinfo
229 pinfo.ID = bootstrap.ID()
230 }
@@ -232,7 +232,7 @@ func (bpeers Peers) ToPeerInfos() []peerstore.PeerInfo {
232 pinfo.Addrs = append(pinfo.Addrs, bootstrap.Transport())
233 }
234
235 - var peers []peerstore.PeerInfo
235 + var peers []peer.AddrInfo
236 for _, pinfo := range pinfos {
237 peers = append(peers, *pinfo)
238 }
core/bootstrap/bootstrap_test.go
+6 -6
@@ -5,20 +5,20 @@ import (
5 "testing"
6
7 config "github.com/ipfs/go-ipfs-config"
8 - pstore "github.com/libp2p/go-libp2p-peerstore"
9 - testutil "github.com/libp2p/go-testutil"
8 + "github.com/libp2p/go-libp2p-core/peer"
9 + "github.com/libp2p/go-libp2p-core/test"
10 )
11
12 func TestSubsetWhenMaxIsGreaterThanLengthOfSlice(t *testing.T) {
13 - var ps []pstore.PeerInfo
13 + var ps []peer.AddrInfo
14 sizeofSlice := 100
15 for i := 0; i < sizeofSlice; i++ {
16 - pid, err := testutil.RandPeerID()
16 + pid, err := test.RandPeerID()
17 if err != nil {
18 t.Fatal(err)
19 }
20
21 - ps = append(ps, pstore.PeerInfo{ID: pid})
21 + ps = append(ps, peer.AddrInfo{ID: pid})
22 }
23 out := randomSubsetOfPeers(ps, 2*sizeofSlice)
24 if len(out) != len(ps) {
@@ -29,7 +29,7 @@ func TestSubsetWhenMaxIsGreaterThanLengthOfSlice(t *testing.T) {
29 func TestMultipleAddrsPerPeer(t *testing.T) {
30 var bsps []config.BootstrapPeer
31 for i := 0; i < 10; i++ {
32 - pid, err := testutil.RandPeerID()
32 + pid, err := test.RandPeerID()
33 if err != nil {
34 t.Fatal(err)
35 }
core/commands/bitswap.go
+1 -1
@@ -12,7 +12,7 @@ import (
12 decision "github.com/ipfs/go-bitswap/decision"
13 cidutil "github.com/ipfs/go-cidutil"
14 cmds "github.com/ipfs/go-ipfs-cmds"
15 - peer "github.com/libp2p/go-libp2p-peer"
15 + peer "github.com/libp2p/go-libp2p-core/peer"
16 )
17
18 var BitswapCmd = &cmds.Command{
core/commands/dht.go
+59 -61
@@ -15,10 +15,8 @@ import (
15 ipld "github.com/ipfs/go-ipld-format"
16 dag "github.com/ipfs/go-merkledag"
17 path "github.com/ipfs/go-path"
18 - peer "github.com/libp2p/go-libp2p-peer"
19 - pstore "github.com/libp2p/go-libp2p-peerstore"
20 - routing "github.com/libp2p/go-libp2p-routing"
21 - notif "github.com/libp2p/go-libp2p-routing/notifications"
18 + peer "github.com/libp2p/go-libp2p-core/peer"
19 + routing "github.com/libp2p/go-libp2p-core/routing"
20 b58 "github.com/mr-tron/base58/base58"
21 )
22
@@ -75,7 +73,7 @@ var queryDhtCmd = &cmds.Command{
73 }
74
75 ctx, cancel := context.WithCancel(req.Context)
78 - ctx, events := notif.RegisterForQueryEvents(ctx)
76 + ctx, events := routing.RegisterForQueryEvents(ctx)
77
78 closestPeers, err := nd.DHT.GetClosestPeers(ctx, string(id))
79 if err != nil {
@@ -86,9 +84,9 @@ var queryDhtCmd = &cmds.Command{
84 go func() {
85 defer cancel()
86 for p := range closestPeers {
89 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
87 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
88 ID: p,
91 - Type: notif.FinalPeer,
89 + Type: routing.FinalPeer,
90 })
91 }
92 }()
@@ -102,9 +100,9 @@ var queryDhtCmd = &cmds.Command{
100 return nil
101 },
102 Encoders: cmds.EncoderMap{
105 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *notif.QueryEvent) error {
103 + cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *routing.QueryEvent) error {
104 pfm := pfuncMap{
107 - notif.PeerResponse: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
105 + routing.PeerResponse: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
106 for _, p := range obj.Responses {
107 fmt.Fprintf(out, "%s\n", p.ID.Pretty())
108 }
@@ -115,7 +113,7 @@ var queryDhtCmd = &cmds.Command{
113 return printEvent(out, w, verbose, pfm)
114 }),
115 },
118 - Type: notif.QueryEvent{},
116 + Type: routing.QueryEvent{},
117 }
118
119 const (
@@ -157,7 +155,7 @@ var findProvidersDhtCmd = &cmds.Command{
155 }
156
157 ctx, cancel := context.WithCancel(req.Context)
160 - ctx, events := notif.RegisterForQueryEvents(ctx)
158 + ctx, events := routing.RegisterForQueryEvents(ctx)
159
160 pchan := n.Routing.FindProvidersAsync(ctx, c, numProviders)
161
@@ -165,9 +163,9 @@ var findProvidersDhtCmd = &cmds.Command{
163 defer cancel()
164 for p := range pchan {
165 np := p
168 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
169 - Type: notif.Provider,
170 - Responses: []*pstore.PeerInfo{&np},
166 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
167 + Type: routing.Provider,
168 + Responses: []*peer.AddrInfo{&np},
169 })
170 }
171 }()
@@ -180,15 +178,15 @@ var findProvidersDhtCmd = &cmds.Command{
178 return nil
179 },
180 Encoders: cmds.EncoderMap{
183 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *notif.QueryEvent) error {
181 + cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *routing.QueryEvent) error {
182 pfm := pfuncMap{
185 - notif.FinalPeer: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
183 + routing.FinalPeer: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
184 if verbose {
185 fmt.Fprintf(out, "* closest peer %s\n", obj.ID)
186 }
187 return nil
188 },
191 - notif.Provider: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
189 + routing.Provider: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
190 prov := obj.Responses[0]
191 if verbose {
192 fmt.Fprintf(out, "provider: ")
@@ -207,7 +205,7 @@ var findProvidersDhtCmd = &cmds.Command{
205 return printEvent(out, w, verbose, pfm)
206 }),
207 },
210 - Type: notif.QueryEvent{},
208 + Type: routing.QueryEvent{},
209 }
210
211 const (
@@ -269,7 +267,7 @@ var provideRefDhtCmd = &cmds.Command{
267 }
268
269 ctx, cancel := context.WithCancel(req.Context)
272 - ctx, events := notif.RegisterForQueryEvents(ctx)
270 + ctx, events := routing.RegisterForQueryEvents(ctx)
271
272 var provideErr error
273 go func() {
@@ -280,8 +278,8 @@ var provideRefDhtCmd = &cmds.Command{
278 provideErr = provideKeys(ctx, nd.Routing, cids)
279 }
280 if provideErr != nil {
283 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
284 - Type: notif.QueryError,
281 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
282 + Type: routing.QueryError,
283 Extra: provideErr.Error(),
284 })
285 }
@@ -296,9 +294,9 @@ var provideRefDhtCmd = &cmds.Command{
294 return provideErr
295 },
296 Encoders: cmds.EncoderMap{
299 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *notif.QueryEvent) error {
297 + cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *routing.QueryEvent) error {
298 pfm := pfuncMap{
301 - notif.FinalPeer: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
299 + routing.FinalPeer: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
300 if verbose {
301 fmt.Fprintf(out, "sending provider record to peer %s\n", obj.ID)
302 }
@@ -310,10 +308,10 @@ var provideRefDhtCmd = &cmds.Command{
308 return printEvent(out, w, verbose, pfm)
309 }),
310 },
313 - Type: notif.QueryEvent{},
311 + Type: routing.QueryEvent{},
312 }
313
316 -func provideKeys(ctx context.Context, r routing.IpfsRouting, cids []cid.Cid) error {
314 +func provideKeys(ctx context.Context, r routing.Routing, cids []cid.Cid) error {
315 for _, c := range cids {
316 err := r.Provide(ctx, c, true)
317 if err != nil {
@@ -323,7 +321,7 @@ func provideKeys(ctx context.Context, r routing.IpfsRouting, cids []cid.Cid) err
321 return nil
322 }
323
326 -func provideKeysRec(ctx context.Context, r routing.IpfsRouting, dserv ipld.DAGService, cids []cid.Cid) error {
324 +func provideKeysRec(ctx context.Context, r routing.Routing, dserv ipld.DAGService, cids []cid.Cid) error {
325 provided := cid.NewSet()
326 for _, c := range cids {
327 kset := cid.NewSet()
@@ -377,24 +375,24 @@ var findPeerDhtCmd = &cmds.Command{
375 }
376
377 ctx, cancel := context.WithCancel(req.Context)
380 - ctx, events := notif.RegisterForQueryEvents(ctx)
378 + ctx, events := routing.RegisterForQueryEvents(ctx)
379
380 var findPeerErr error
381 go func() {
382 defer cancel()
385 - var pi pstore.PeerInfo
383 + var pi peer.AddrInfo
384 pi, findPeerErr = nd.Routing.FindPeer(ctx, pid)
385 if findPeerErr != nil {
388 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
389 - Type: notif.QueryError,
386 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
387 + Type: routing.QueryError,
388 Extra: findPeerErr.Error(),
389 })
390 return
391 }
392
395 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
396 - Type: notif.FinalPeer,
397 - Responses: []*pstore.PeerInfo{&pi},
393 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
394 + Type: routing.FinalPeer,
395 + Responses: []*peer.AddrInfo{&pi},
396 })
397 }()
398
@@ -407,9 +405,9 @@ var findPeerDhtCmd = &cmds.Command{
405 return findPeerErr
406 },
407 Encoders: cmds.EncoderMap{
410 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *notif.QueryEvent) error {
408 + cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *routing.QueryEvent) error {
409 pfm := pfuncMap{
412 - notif.FinalPeer: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
410 + routing.FinalPeer: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
411 pi := obj.Responses[0]
412 for _, a := range pi.Addrs {
413 fmt.Fprintf(out, "%s\n", a)
@@ -422,7 +420,7 @@ var findPeerDhtCmd = &cmds.Command{
420 return printEvent(out, w, verbose, pfm)
421 }),
422 },
425 - Type: notif.QueryEvent{},
423 + Type: routing.QueryEvent{},
424 }
425
426 var getValueDhtCmd = &cmds.Command{
@@ -461,7 +459,7 @@ Different key types can specify other 'best' rules.
459 }
460
461 ctx, cancel := context.WithCancel(req.Context)
464 - ctx, events := notif.RegisterForQueryEvents(ctx)
462 + ctx, events := routing.RegisterForQueryEvents(ctx)
463
464 var getErr error
465 go func() {
@@ -469,13 +467,13 @@ Different key types can specify other 'best' rules.
467 var val []byte
468 val, getErr = nd.Routing.GetValue(ctx, dhtkey)
469 if getErr != nil {
472 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
473 - Type: notif.QueryError,
470 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
471 + Type: routing.QueryError,
472 Extra: getErr.Error(),
473 })
474 } else {
477 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
478 - Type: notif.Value,
475 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
476 + Type: routing.Value,
477 Extra: base64.StdEncoding.EncodeToString(val),
478 })
479 }
@@ -490,9 +488,9 @@ Different key types can specify other 'best' rules.
488 return getErr
489 },
490 Encoders: cmds.EncoderMap{
493 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *notif.QueryEvent) error {
491 + cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *routing.QueryEvent) error {
492 pfm := pfuncMap{
495 - notif.Value: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
493 + routing.Value: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
494 if verbose {
495 _, err := fmt.Fprintf(out, "got value: '%s'\n", obj.Extra)
496 return err
@@ -510,7 +508,7 @@ Different key types can specify other 'best' rules.
508 return printEvent(out, w, verbose, pfm)
509 }),
510 },
513 - Type: notif.QueryEvent{},
511 + Type: routing.QueryEvent{},
512 }
513
514 var putValueDhtCmd = &cmds.Command{
@@ -566,15 +564,15 @@ NOTE: A value may not exceed 2048 bytes.
564 data := req.Arguments[1]
565
566 ctx, cancel := context.WithCancel(req.Context)
569 - ctx, events := notif.RegisterForQueryEvents(ctx)
567 + ctx, events := routing.RegisterForQueryEvents(ctx)
568
569 var putErr error
570 go func() {
571 defer cancel()
572 putErr = nd.Routing.PutValue(ctx, key, []byte(data))
573 if putErr != nil {
576 - notif.PublishQueryEvent(ctx, &notif.QueryEvent{
577 - Type: notif.QueryError,
574 + routing.PublishQueryEvent(ctx, &routing.QueryEvent{
575 + Type: routing.QueryError,
576 Extra: putErr.Error(),
577 })
578 }
@@ -589,15 +587,15 @@ NOTE: A value may not exceed 2048 bytes.
587 return putErr
588 },
589 Encoders: cmds.EncoderMap{
592 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *notif.QueryEvent) error {
590 + cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *routing.QueryEvent) error {
591 pfm := pfuncMap{
594 - notif.FinalPeer: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
592 + routing.FinalPeer: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
593 if verbose {
594 fmt.Fprintf(out, "* closest peer %s\n", obj.ID)
595 }
596 return nil
597 },
600 - notif.Value: func(obj *notif.QueryEvent, out io.Writer, verbose bool) error {
598 + routing.Value: func(obj *routing.QueryEvent, out io.Writer, verbose bool) error {
599 fmt.Fprintf(out, "%s\n", obj.ID.Pretty())
600 return nil
601 },
@@ -608,13 +606,13 @@ NOTE: A value may not exceed 2048 bytes.
606 return printEvent(out, w, verbose, pfm)
607 }),
608 },
611 - Type: notif.QueryEvent{},
609 + Type: routing.QueryEvent{},
610 }
611
614 -type printFunc func(obj *notif.QueryEvent, out io.Writer, verbose bool) error
615 -type pfuncMap map[notif.QueryEventType]printFunc
612 +type printFunc func(obj *routing.QueryEvent, out io.Writer, verbose bool) error
613 +type pfuncMap map[routing.QueryEventType]printFunc
614
617 -func printEvent(obj *notif.QueryEvent, out io.Writer, verbose bool, override pfuncMap) error {
615 +func printEvent(obj *routing.QueryEvent, out io.Writer, verbose bool, override pfuncMap) error {
616 if verbose {
617 fmt.Fprintf(out, "%s: ", time.Now().Format("15:04:05.000"))
618 }
@@ -626,17 +624,17 @@ func printEvent(obj *notif.QueryEvent, out io.Writer, verbose bool, override pfu
624 }
625
626 switch obj.Type {
629 - case notif.SendingQuery:
627 + case routing.SendingQuery:
628 if verbose {
629 fmt.Fprintf(out, "* querying %s\n", obj.ID)
630 }
633 - case notif.Value:
631 + case routing.Value:
632 if verbose {
633 fmt.Fprintf(out, "got value: '%s'\n", obj.Extra)
634 } else {
635 fmt.Fprint(out, obj.Extra)
636 }
639 - case notif.PeerResponse:
637 + case routing.PeerResponse:
638 if verbose {
639 fmt.Fprintf(out, "* %s says use ", obj.ID)
640 for _, p := range obj.Responses {
@@ -644,19 +642,19 @@ func printEvent(obj *notif.QueryEvent, out io.Writer, verbose bool, override pfu
642 }
643 fmt.Fprintln(out)
644 }
647 - case notif.QueryError:
645 + case routing.QueryError:
646 if verbose {
647 fmt.Fprintf(out, "error: %s\n", obj.Extra)
648 }
651 - case notif.DialingPeer:
649 + case routing.DialingPeer:
650 if verbose {
651 fmt.Fprintf(out, "dialing peer: %s\n", obj.ID)
652 }
655 - case notif.AddingPeer:
653 + case routing.AddingPeer:
654 if verbose {
655 fmt.Fprintf(out, "adding peer to query: %s\n", obj.ID)
656 }
659 - case notif.FinalPeer:
657 + case routing.FinalPeer:
658 default:
659 if verbose {
660 fmt.Fprintf(out, "unrecognized event type: %d\n", obj.Type)
core/commands/dht_test.go
+2 -2
@@ -6,11 +6,11 @@ import (
6 "github.com/ipfs/go-ipfs/namesys"
7
8 ipns "github.com/ipfs/go-ipns"
9 - tu "github.com/libp2p/go-testutil"
9 + "github.com/libp2p/go-libp2p-core/test"
10 )
11
12 func TestKeyTranslation(t *testing.T) {
13 - pid := tu.RandPeerIDFatal(t)
13 + pid := test.RandPeerIDFatal(t)
14 pkname := namesys.PkKeyForID(pid)
15 ipnsname := ipns.RecordKey(pid)
16
core/commands/dns.go
+3 -3
@@ -64,12 +64,12 @@ The resolver can recursively resolve:
64 name := req.Arguments[0]
65 resolver := namesys.NewDNSResolver()
66
67 - var ropts []nsopts.ResolveOpt
67 + var routing []nsopts.ResolveOpt
68 if !recursive {
69 - ropts = append(ropts, nsopts.Depth(1))
69 + routing = append(routing, nsopts.Depth(1))
70 }
71
72 - output, err := resolver.Resolve(req.Context, name, ropts...)
72 + output, err := resolver.Resolve(req.Context, name, routing...)
73 if err != nil && (recursive || err != namesys.ErrResolveRecursion) {
74 return err
75 }
core/commands/id.go
+3 -3
@@ -12,10 +12,10 @@ import (
12 cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv"
13
14 cmds "github.com/ipfs/go-ipfs-cmds"
15 - ic "github.com/libp2p/go-libp2p-crypto"
15 + ic "github.com/libp2p/go-libp2p-core/crypto"
16 + peer "github.com/libp2p/go-libp2p-core/peer"
17 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
18 kb "github.com/libp2p/go-libp2p-kbucket"
17 - peer "github.com/libp2p/go-libp2p-peer"
18 - pstore "github.com/libp2p/go-libp2p-peerstore"
19 identify "github.com/libp2p/go-libp2p/p2p/protocol/identify"
20 )
21
core/commands/name/ipnsps.go
+1 -1
@@ -7,7 +7,7 @@ import (
7
8 "github.com/ipfs/go-ipfs-cmds"
9 "github.com/ipfs/go-ipfs/core/commands/cmdenv"
10 - "github.com/libp2p/go-libp2p-peer"
10 + "github.com/libp2p/go-libp2p-core/peer"
11 "github.com/libp2p/go-libp2p-record"
12 )
13
core/commands/p2p.go
+2 -2
@@ -16,8 +16,8 @@ import (
16
17 ipfsaddr "github.com/ipfs/go-ipfs-addr"
18 cmds "github.com/ipfs/go-ipfs-cmds"
19 - pstore "github.com/libp2p/go-libp2p-peerstore"
20 - protocol "github.com/libp2p/go-libp2p-protocol"
19 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
20 + protocol "github.com/libp2p/go-libp2p-core/protocol"
21 ma "github.com/multiformats/go-multiaddr"
22 madns "github.com/multiformats/go-multiaddr-dns"
23 )
core/commands/ping.go
+2 -2
@@ -12,8 +12,8 @@ import (
12
13 iaddr "github.com/ipfs/go-ipfs-addr"
14 cmds "github.com/ipfs/go-ipfs-cmds"
15 - "github.com/libp2p/go-libp2p-peer"
16 - pstore "github.com/libp2p/go-libp2p-peerstore"
15 + peer "github.com/libp2p/go-libp2p-core/peer"
16 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
17 ping "github.com/libp2p/go-libp2p/p2p/protocol/ping"
18 ma "github.com/multiformats/go-multiaddr"
19 )
core/commands/stat.go
+3 -3
@@ -10,9 +10,9 @@ import (
10
11 humanize "github.com/dustin/go-humanize"
12 cmds "github.com/ipfs/go-ipfs-cmds"
13 - metrics "github.com/libp2p/go-libp2p-metrics"
14 - peer "github.com/libp2p/go-libp2p-peer"
15 - protocol "github.com/libp2p/go-libp2p-protocol"
13 + metrics "github.com/libp2p/go-libp2p-core/metrics"
14 + peer "github.com/libp2p/go-libp2p-core/peer"
15 + protocol "github.com/libp2p/go-libp2p-core/protocol"
16 )
17
18 var StatsCmd = &cmds.Command{
core/commands/swarm.go
+5 -6
@@ -18,9 +18,8 @@ import (
18 iaddr "github.com/ipfs/go-ipfs-addr"
19 cmds "github.com/ipfs/go-ipfs-cmds"
20 config "github.com/ipfs/go-ipfs-config"
21 - inet "github.com/libp2p/go-libp2p-net"
22 - peer "github.com/libp2p/go-libp2p-peer"
23 - pstore "github.com/libp2p/go-libp2p-peerstore"
21 + inet "github.com/libp2p/go-libp2p-core/network"
22 + peer "github.com/libp2p/go-libp2p-core/peer"
23 swarm "github.com/libp2p/go-libp2p-swarm"
24 mafilter "github.com/libp2p/go-maddr-filter"
25 ma "github.com/multiformats/go-multiaddr"
@@ -467,7 +466,7 @@ func parseMultiaddrs(maddrs []ma.Multiaddr) (iaddrs []iaddr.IPFSAddr, err error)
466
467 // peersWithAddresses is a function that takes in a slice of string peer addresses
468 // (multiaddr + peerid) and returns a slice of properly constructed peers
470 -func peersWithAddresses(ctx context.Context, addrs []string) ([]pstore.PeerInfo, error) {
469 +func peersWithAddresses(ctx context.Context, addrs []string) ([]peer.AddrInfo, error) {
470 // resolve addresses
471 maddrs, err := resolveAddresses(ctx, addrs)
472 if err != nil {
@@ -489,9 +488,9 @@ func peersWithAddresses(ctx context.Context, addrs []string) ([]pstore.PeerInfo,
488 peers[id] = nil
489 }
490 }
492 - pis := make([]pstore.PeerInfo, 0, len(peers))
491 + pis := make([]peer.AddrInfo, 0, len(peers))
492 for id, maddrs := range peers {
494 - pis = append(pis, pstore.PeerInfo{
493 + pis = append(pis, peer.AddrInfo{
494 ID: id,
495 Addrs: maddrs,
496 })
core/core.go
+14 -14
@@ -31,21 +31,21 @@ import (
31 exchange "github.com/ipfs/go-ipfs-exchange-interface"
32 ipld "github.com/ipfs/go-ipld-format"
33 logging "github.com/ipfs/go-log"
34 - "github.com/ipfs/go-mfs"
35 - "github.com/ipfs/go-path/resolver"
36 - "github.com/jbenet/goprocess"
34 + mfs "github.com/ipfs/go-mfs"
35 + resolver "github.com/ipfs/go-path/resolver"
36 + goprocess "github.com/jbenet/goprocess"
37 autonat "github.com/libp2p/go-libp2p-autonat-svc"
38 - ic "github.com/libp2p/go-libp2p-crypto"
39 - p2phost "github.com/libp2p/go-libp2p-host"
40 - ifconnmgr "github.com/libp2p/go-libp2p-interface-connmgr"
38 + connmgr "github.com/libp2p/go-libp2p-core/connmgr"
39 + ic "github.com/libp2p/go-libp2p-core/crypto"
40 + p2phost "github.com/libp2p/go-libp2p-core/host"
41 + metrics "github.com/libp2p/go-libp2p-core/metrics"
42 + peer "github.com/libp2p/go-libp2p-core/peer"
43 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
44 + routing "github.com/libp2p/go-libp2p-core/routing"
45 dht "github.com/libp2p/go-libp2p-kad-dht"
42 - metrics "github.com/libp2p/go-libp2p-metrics"
43 - peer "github.com/libp2p/go-libp2p-peer"
44 - pstore "github.com/libp2p/go-libp2p-peerstore"
46 pubsub "github.com/libp2p/go-libp2p-pubsub"
47 psrouter "github.com/libp2p/go-libp2p-pubsub-router"
48 record "github.com/libp2p/go-libp2p-record"
48 - routing "github.com/libp2p/go-libp2p-routing"
49 "github.com/libp2p/go-libp2p/p2p/discovery"
50 p2pbhost "github.com/libp2p/go-libp2p/p2p/host/basic"
51 "github.com/libp2p/go-libp2p/p2p/protocol/identify"
@@ -88,7 +88,7 @@ type IpfsNode struct {
88 // Online
89 PeerHost p2phost.Host `optional:"true"` // the network host (server+client)
90 Bootstrapper io.Closer `optional:"true"` // the periodic bootstrapper
91 - Routing routing.IpfsRouting `optional:"true"` // the routing system. recommend ipfs-dht
91 + Routing routing.Routing `optional:"true"` // the routing system. recommend ipfs-dht
92 Exchange exchange.Interface // the block exchange + strategy (bitswap)
93 Namesys namesys.NameSystem // the name system, resolves paths to hashes
94 Provider provider.System // the value provider system
@@ -145,7 +145,7 @@ func (n *IpfsNode) Bootstrap(cfg bootstrap.BootstrapConfig) error {
145 // if the caller did not specify a bootstrap peer function, get the
146 // freshest bootstrap peers from config. this responds to live changes.
147 if cfg.BootstrapPeers == nil {
148 - cfg.BootstrapPeers = func() []pstore.PeerInfo {
148 + cfg.BootstrapPeers = func() []peer.AddrInfo {
149 ps, err := n.loadBootstrapPeers()
150 if err != nil {
151 log.Warning("failed to parse bootstrap peers from config")
@@ -160,7 +160,7 @@ func (n *IpfsNode) Bootstrap(cfg bootstrap.BootstrapConfig) error {
160 return err
161 }
162
163 -func (n *IpfsNode) loadBootstrapPeers() ([]pstore.PeerInfo, error) {
163 +func (n *IpfsNode) loadBootstrapPeers() ([]peer.AddrInfo, error) {
164 cfg, err := n.Repo.Config()
165 if err != nil {
166 return nil, err
@@ -178,5 +178,5 @@ type ConstructPeerHostOpts struct {
178 DisableNatPortMap bool
179 DisableRelay bool
180 EnableRelayHop bool
181 - ConnectionManager ifconnmgr.ConnManager
181 + ConnectionManager connmgr.ConnManager
182 }
core/coreapi/coreapi.go
+6 -6
@@ -35,13 +35,13 @@ import (
35 dag "github.com/ipfs/go-merkledag"
36 coreiface "github.com/ipfs/interface-go-ipfs-core"
37 "github.com/ipfs/interface-go-ipfs-core/options"
38 - ci "github.com/libp2p/go-libp2p-crypto"
39 - p2phost "github.com/libp2p/go-libp2p-host"
40 - "github.com/libp2p/go-libp2p-peer"
41 - pstore "github.com/libp2p/go-libp2p-peerstore"
38 + ci "github.com/libp2p/go-libp2p-core/crypto"
39 + p2phost "github.com/libp2p/go-libp2p-core/host"
40 + peer "github.com/libp2p/go-libp2p-core/peer"
41 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
42 + routing "github.com/libp2p/go-libp2p-core/routing"
43 pubsub "github.com/libp2p/go-libp2p-pubsub"
44 record "github.com/libp2p/go-libp2p-record"
44 - "github.com/libp2p/go-libp2p-routing"
45 )
46
47 var log = logging.Logger("core/coreapi")
@@ -66,7 +66,7 @@ type CoreAPI struct {
66 exchange exchange.Interface
67
68 namesys namesys.NameSystem
69 - routing routing.IpfsRouting
69 + routing routing.Routing
70
71 provider provider.System
72
core/coreapi/dht.go
+8 -9
@@ -13,28 +13,27 @@ import (
13 coreiface "github.com/ipfs/interface-go-ipfs-core"
14 caopts "github.com/ipfs/interface-go-ipfs-core/options"
15 path "github.com/ipfs/interface-go-ipfs-core/path"
16 - peer "github.com/libp2p/go-libp2p-peer"
17 - pstore "github.com/libp2p/go-libp2p-peerstore"
18 - routing "github.com/libp2p/go-libp2p-routing"
16 + peer "github.com/libp2p/go-libp2p-core/peer"
17 + routing "github.com/libp2p/go-libp2p-core/routing"
18 )
19
20 type DhtAPI CoreAPI
21
23 -func (api *DhtAPI) FindPeer(ctx context.Context, p peer.ID) (pstore.PeerInfo, error) {
22 +func (api *DhtAPI) FindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, error) {
23 err := api.checkOnline(false)
24 if err != nil {
26 - return pstore.PeerInfo{}, err
25 + return peer.AddrInfo{}, err
26 }
27
28 pi, err := api.routing.FindPeer(ctx, peer.ID(p))
29 if err != nil {
31 - return pstore.PeerInfo{}, err
30 + return peer.AddrInfo{}, err
31 }
32
33 return pi, nil
34 }
35
37 -func (api *DhtAPI) FindProviders(ctx context.Context, p path.Path, opts ...caopts.DhtFindProvidersOption) (<-chan pstore.PeerInfo, error) {
36 +func (api *DhtAPI) FindProviders(ctx context.Context, p path.Path, opts ...caopts.DhtFindProvidersOption) (<-chan peer.AddrInfo, error) {
37 settings, err := caopts.DhtFindProvidersOptions(opts...)
38 if err != nil {
39 return nil, err
@@ -98,7 +97,7 @@ func (api *DhtAPI) Provide(ctx context.Context, path path.Path, opts ...caopts.D
97 return nil
98 }
99
101 -func provideKeys(ctx context.Context, r routing.IpfsRouting, cids []cid.Cid) error {
100 +func provideKeys(ctx context.Context, r routing.Routing, cids []cid.Cid) error {
101 for _, c := range cids {
102 err := r.Provide(ctx, c, true)
103 if err != nil {
@@ -108,7 +107,7 @@ func provideKeys(ctx context.Context, r routing.IpfsRouting, cids []cid.Cid) err
107 return nil
108 }
109
111 -func provideKeysRec(ctx context.Context, r routing.IpfsRouting, bs blockstore.Blockstore, cids []cid.Cid) error {
110 +func provideKeysRec(ctx context.Context, r routing.Routing, bs blockstore.Blockstore, cids []cid.Cid) error {
111 provided := cidutil.NewStreamingSet()
112
113 errCh := make(chan error)
core/coreapi/key.go
+2 -2
@@ -11,8 +11,8 @@ import (
11 coreiface "github.com/ipfs/interface-go-ipfs-core"
12 caopts "github.com/ipfs/interface-go-ipfs-core/options"
13 path "github.com/ipfs/interface-go-ipfs-core/path"
14 - crypto "github.com/libp2p/go-libp2p-crypto"
15 - peer "github.com/libp2p/go-libp2p-peer"
14 + crypto "github.com/libp2p/go-libp2p-core/crypto"
15 + peer "github.com/libp2p/go-libp2p-core/peer"
16 )
17
18 type KeyAPI CoreAPI
core/coreapi/name.go
+3 -4
@@ -13,9 +13,8 @@ import (
13 coreiface "github.com/ipfs/interface-go-ipfs-core"
14 caopts "github.com/ipfs/interface-go-ipfs-core/options"
15 path "github.com/ipfs/interface-go-ipfs-core/path"
16 - "github.com/libp2p/go-libp2p-crypto"
17 - ci "github.com/libp2p/go-libp2p-crypto"
18 - "github.com/libp2p/go-libp2p-peer"
16 + ci "github.com/libp2p/go-libp2p-core/crypto"
17 + peer "github.com/libp2p/go-libp2p-core/peer"
18 )
19
20 type NameAPI CoreAPI
@@ -139,7 +138,7 @@ func (api *NameAPI) Resolve(ctx context.Context, name string, opts ...caopts.Nam
138 return p, err
139 }
140
142 -func keylookup(self ci.PrivKey, kstore keystore.Keystore, k string) (crypto.PrivKey, error) {
141 +func keylookup(self ci.PrivKey, kstore keystore.Keystore, k string) (ci.PrivKey, error) {
142 if k == "self" {
143 return self, nil
144 }
core/coreapi/pubsub.go
+6 -7
@@ -10,11 +10,10 @@ import (
10 cid "github.com/ipfs/go-cid"
11 coreiface "github.com/ipfs/interface-go-ipfs-core"
12 caopts "github.com/ipfs/interface-go-ipfs-core/options"
13 - p2phost "github.com/libp2p/go-libp2p-host"
14 - peer "github.com/libp2p/go-libp2p-peer"
15 - pstore "github.com/libp2p/go-libp2p-peerstore"
13 + p2phost "github.com/libp2p/go-libp2p-core/host"
14 + peer "github.com/libp2p/go-libp2p-core/peer"
15 + routing "github.com/libp2p/go-libp2p-core/routing"
16 pubsub "github.com/libp2p/go-libp2p-pubsub"
17 - routing "github.com/libp2p/go-libp2p-routing"
17 )
18
19 type PubSubAPI CoreAPI
@@ -93,7 +92,7 @@ func (api *PubSubAPI) Subscribe(ctx context.Context, topic string, opts ...caopt
92 return &pubSubSubscription{cancel, sub}, nil
93 }
94
96 -func connectToPubSubPeers(ctx context.Context, r routing.IpfsRouting, ph p2phost.Host, cid cid.Cid) {
95 +func connectToPubSubPeers(ctx context.Context, r routing.Routing, ph p2phost.Host, cid cid.Cid) {
96 ctx, cancel := context.WithCancel(ctx)
97 defer cancel()
98
@@ -101,7 +100,7 @@ func connectToPubSubPeers(ctx context.Context, r routing.IpfsRouting, ph p2phost
100 var wg sync.WaitGroup
101 for p := range provs {
102 wg.Add(1)
104 - go func(pi pstore.PeerInfo) {
103 + go func(pi peer.AddrInfo) {
104 defer wg.Done()
105 ctx, cancel := context.WithTimeout(ctx, time.Second*10)
106 defer cancel()
@@ -117,7 +116,7 @@ func connectToPubSubPeers(ctx context.Context, r routing.IpfsRouting, ph p2phost
116 wg.Wait()
117 }
118
120 -func (api *PubSubAPI) checkNode() (routing.IpfsRouting, error) {
119 +func (api *PubSubAPI) checkNode() (routing.Routing, error) {
120 if api.pubSub == nil {
121 return nil, errors.New("experimental pubsub feature not enabled. Run daemon with --enable-pubsub-experiment to use.")
122 }
core/coreapi/swarm.go
+8 -9
@@ -7,11 +7,10 @@ import (
7
8 iaddr "github.com/ipfs/go-ipfs-addr"
9 coreiface "github.com/ipfs/interface-go-ipfs-core"
10 - inet "github.com/libp2p/go-libp2p-net"
11 - net "github.com/libp2p/go-libp2p-net"
12 - peer "github.com/libp2p/go-libp2p-peer"
13 - pstore "github.com/libp2p/go-libp2p-peerstore"
14 - protocol "github.com/libp2p/go-libp2p-protocol"
10 + inet "github.com/libp2p/go-libp2p-core/network"
11 + peer "github.com/libp2p/go-libp2p-core/peer"
12 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
13 + protocol "github.com/libp2p/go-libp2p-core/protocol"
14 swarm "github.com/libp2p/go-libp2p-swarm"
15 ma "github.com/multiformats/go-multiaddr"
16 )
@@ -20,8 +19,8 @@ type SwarmAPI CoreAPI
19
20 type connInfo struct {
21 peerstore pstore.Peerstore
23 - conn net.Conn
24 - dir net.Direction
22 + conn inet.Conn
23 + dir inet.Direction
24
25 addr ma.Multiaddr
26 peer peer.ID
@@ -31,7 +30,7 @@ type connInfo struct {
30 const connectionManagerTag = "user-connect"
31 const connectionManagerWeight = 100
32
34 -func (api *SwarmAPI) Connect(ctx context.Context, pi pstore.PeerInfo) error {
33 +func (api *SwarmAPI) Connect(ctx context.Context, pi peer.AddrInfo) error {
34 if api.peerHost == nil {
35 return coreiface.ErrOffline
36 }
@@ -159,7 +158,7 @@ func (ci *connInfo) Address() ma.Multiaddr {
158 return ci.addr
159 }
160
162 -func (ci *connInfo) Direction() net.Direction {
161 +func (ci *connInfo) Direction() inet.Direction {
162 return ci.dir
163 }
164
core/coreapi/test/api_test.go
+5 -7
@@ -8,12 +8,11 @@ import (
8 "path/filepath"
9 "testing"
10
11 - "github.com/ipfs/go-ipfs/core/bootstrap"
12 - "github.com/ipfs/go-ipfs/filestore"
13 -
11 "github.com/ipfs/go-ipfs/core"
12 + "github.com/ipfs/go-ipfs/core/bootstrap"
13 "github.com/ipfs/go-ipfs/core/coreapi"
14 mock "github.com/ipfs/go-ipfs/core/mock"
15 + "github.com/ipfs/go-ipfs/filestore"
16 "github.com/ipfs/go-ipfs/keystore"
17 "github.com/ipfs/go-ipfs/repo"
18
@@ -22,9 +21,8 @@ import (
21 "github.com/ipfs/go-ipfs-config"
22 coreiface "github.com/ipfs/interface-go-ipfs-core"
23 "github.com/ipfs/interface-go-ipfs-core/tests"
25 - ci "github.com/libp2p/go-libp2p-crypto"
26 - "github.com/libp2p/go-libp2p-peer"
27 - pstore "github.com/libp2p/go-libp2p-peerstore"
24 + ci "github.com/libp2p/go-libp2p-core/crypto"
25 + peer "github.com/libp2p/go-libp2p-core/peer"
26 "github.com/libp2p/go-libp2p/p2p/net/mock"
27 )
28
@@ -103,7 +101,7 @@ func (NodeProvider) MakeAPISwarm(ctx context.Context, fullIdentity bool, n int)
101 }
102
103 bsinf := bootstrap.BootstrapConfigWithPeers(
106 - []pstore.PeerInfo{
104 + []peer.AddrInfo{
105 nodes[0].Peerstore.PeerInfo(nodes[0].Identity),
106 },
107 )
core/corehttp/gateway_handler.go
+1 -1
@@ -28,7 +28,7 @@ import (
28 "github.com/ipfs/go-unixfs/importer"
29 coreiface "github.com/ipfs/interface-go-ipfs-core"
30 ipath "github.com/ipfs/interface-go-ipfs-core/path"
31 - routing "github.com/libp2p/go-libp2p-routing"
31 + routing "github.com/libp2p/go-libp2p-core/routing"
32 "github.com/multiformats/go-multibase"
33 )
34
core/corehttp/gateway_test.go
+1 -1
@@ -24,7 +24,7 @@ import (
24 iface "github.com/ipfs/interface-go-ipfs-core"
25 nsopts "github.com/ipfs/interface-go-ipfs-core/options/namesys"
26 ipath "github.com/ipfs/interface-go-ipfs-core/path"
27 - ci "github.com/libp2p/go-libp2p-crypto"
27 + ci "github.com/libp2p/go-libp2p-core/crypto"
28 id "github.com/libp2p/go-libp2p/p2p/protocol/identify"
29 )
30
core/corehttp/metrics_test.go
+1 -1
@@ -7,7 +7,7 @@ import (
7
8 core "github.com/ipfs/go-ipfs/core"
9
10 - inet "github.com/libp2p/go-libp2p-net"
10 + inet "github.com/libp2p/go-libp2p-core/network"
11 swarmt "github.com/libp2p/go-libp2p-swarm/testing"
12 bhost "github.com/libp2p/go-libp2p/p2p/host/basic"
13 )
core/corehttp/proxy.go
+1 -1
@@ -11,7 +11,7 @@ import (
11 core "github.com/ipfs/go-ipfs/core"
12
13 p2phttp "github.com/hsanjuan/go-libp2p-http"
14 - protocol "github.com/libp2p/go-libp2p-protocol"
14 + protocol "github.com/libp2p/go-libp2p-core/protocol"
15 )
16
17 // ProxyOption is an endpoint for proxying a HTTP request to another ipfs peer
core/corehttp/proxy_test.go
+1 -1
@@ -7,7 +7,7 @@ import (
7
8 "github.com/ipfs/go-ipfs/thirdparty/assert"
9
10 - protocol "github.com/libp2p/go-libp2p-protocol"
10 + protocol "github.com/libp2p/go-libp2p-core/protocol"
11 )
12
13 type TestCase struct {
core/mock/mock.go
+7 -4
@@ -2,6 +2,7 @@ package coremock
2
3 import (
4 "context"
5 +
6 libp2p2 "github.com/ipfs/go-ipfs/core/node/libp2p"
7
8 "github.com/ipfs/go-ipfs/commands"
@@ -11,12 +12,14 @@ import (
12 "github.com/ipfs/go-datastore"
13 syncds "github.com/ipfs/go-datastore/sync"
14 config "github.com/ipfs/go-ipfs-config"
15 +
16 "github.com/libp2p/go-libp2p"
15 - host "github.com/libp2p/go-libp2p-host"
16 - peer "github.com/libp2p/go-libp2p-peer"
17 - pstore "github.com/libp2p/go-libp2p-peerstore"
17 + host "github.com/libp2p/go-libp2p-core/host"
18 + peer "github.com/libp2p/go-libp2p-core/peer"
19 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
20 + testutil "github.com/libp2p/go-libp2p-testing/net"
21 +
22 mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
19 - "github.com/libp2p/go-testutil"
23 )
24
25 // NewMockNode constructs an IpfsNode for use in tests.
core/node/builder.go
+2 -2
@@ -15,8 +15,8 @@ import (
15 ds "github.com/ipfs/go-datastore"
16 dsync "github.com/ipfs/go-datastore/sync"
17 cfg "github.com/ipfs/go-ipfs-config"
18 - ci "github.com/libp2p/go-libp2p-crypto"
19 - peer "github.com/libp2p/go-libp2p-peer"
18 + ci "github.com/libp2p/go-libp2p-core/crypto"
19 + peer "github.com/libp2p/go-libp2p-core/peer"
20 )
21
22 type BuildCfg struct {
core/node/core.go
+3 -3
@@ -20,8 +20,8 @@ import (
20 "github.com/ipfs/go-merkledag"
21 "github.com/ipfs/go-mfs"
22 "github.com/ipfs/go-unixfs"
23 - "github.com/libp2p/go-libp2p-host"
24 - "github.com/libp2p/go-libp2p-routing"
23 + "github.com/libp2p/go-libp2p-core/host"
24 + "github.com/libp2p/go-libp2p-core/routing"
25 "go.uber.org/fx"
26 )
27
@@ -60,7 +60,7 @@ func Dag(bs blockservice.BlockService) format.DAGService {
60
61 // OnlineExchange creates new LibP2P backed block exchange (BitSwap)
62 func OnlineExchange(provide bool) interface{} {
63 - return func(mctx helpers.MetricsCtx, lc fx.Lifecycle, host host.Host, rt routing.IpfsRouting, bs blockstore.GCBlockstore) exchange.Interface {
63 + return func(mctx helpers.MetricsCtx, lc fx.Lifecycle, host host.Host, rt routing.Routing, bs blockstore.GCBlockstore) exchange.Interface {
64 bitswapNetwork := network.NewFromIpfsHost(host, rt)
65 exch := bitswap.New(helpers.LifecycleCtx(mctx, lc), bitswapNetwork, bs, bitswap.ProvideEnabled(provide))
66 lc.Append(fx.Hook{
core/node/groups.go
+1 -1
@@ -9,7 +9,7 @@ import (
9 blockstore "github.com/ipfs/go-ipfs-blockstore"
10 "github.com/ipfs/go-ipfs-config"
11 util "github.com/ipfs/go-ipfs-util"
12 - peer "github.com/libp2p/go-libp2p-peer"
12 + peer "github.com/libp2p/go-libp2p-core/peer"
13 "github.com/libp2p/go-libp2p-peerstore/pstoremem"
14 pubsub "github.com/libp2p/go-libp2p-pubsub"
15
core/node/identity.go
+2 -2
@@ -3,8 +3,8 @@ package node
3 import (
4 "fmt"
5
6 - "github.com/libp2p/go-libp2p-crypto"
7 - "github.com/libp2p/go-libp2p-peer"
6 + "github.com/libp2p/go-libp2p-core/crypto"
7 + "github.com/libp2p/go-libp2p-core/peer"
8 )
9
10 func PeerID(id peer.ID) func() peer.ID {
core/node/ipns.go
+5 -5
@@ -6,10 +6,10 @@ import (
6
7 "github.com/ipfs/go-ipfs-util"
8 "github.com/ipfs/go-ipns"
9 - "github.com/libp2p/go-libp2p-crypto"
10 - "github.com/libp2p/go-libp2p-peerstore"
9 + "github.com/libp2p/go-libp2p-core/crypto"
10 + "github.com/libp2p/go-libp2p-core/peerstore"
11 + "github.com/libp2p/go-libp2p-core/routing"
12 "github.com/libp2p/go-libp2p-record"
12 - "github.com/libp2p/go-libp2p-routing"
13
14 "github.com/ipfs/go-ipfs/namesys"
15 "github.com/ipfs/go-ipfs/namesys/republisher"
@@ -27,8 +27,8 @@ func RecordValidator(ps peerstore.Peerstore) record.Validator {
27 }
28
29 // Namesys creates new name system
30 -func Namesys(cacheSize int) func(rt routing.IpfsRouting, repo repo.Repo) (namesys.NameSystem, error) {
31 - return func(rt routing.IpfsRouting, repo repo.Repo) (namesys.NameSystem, error) {
30 +func Namesys(cacheSize int) func(rt routing.Routing, repo repo.Repo) (namesys.NameSystem, error) {
31 + return func(rt routing.Routing, repo repo.Repo) (namesys.NameSystem, error) {
32 return namesys.NewNameSystem(rt, repo.Datastore(), cacheSize), nil
33 }
34 }
core/node/libp2p/addrs.go
+1 -1
@@ -4,7 +4,7 @@ import (
4 "fmt"
5
6 "github.com/libp2p/go-libp2p"
7 - host "github.com/libp2p/go-libp2p-host"
7 + host "github.com/libp2p/go-libp2p-core/host"
8 p2pbhost "github.com/libp2p/go-libp2p/p2p/host/basic"
9 mafilter "github.com/libp2p/go-maddr-filter"
10 ma "github.com/multiformats/go-multiaddr"
core/node/libp2p/discovery.go
+3 -3
@@ -4,8 +4,8 @@ import (
4 "context"
5 "time"
6
7 - "github.com/libp2p/go-libp2p-host"
8 - "github.com/libp2p/go-libp2p-peerstore"
7 + "github.com/libp2p/go-libp2p-core/host"
8 + "github.com/libp2p/go-libp2p-core/peer"
9 "github.com/libp2p/go-libp2p/p2p/discovery"
10 "go.uber.org/fx"
11
@@ -19,7 +19,7 @@ type discoveryHandler struct {
19 host host.Host
20 }
21
22 -func (dh *discoveryHandler) HandlePeerFound(p peerstore.PeerInfo) {
22 +func (dh *discoveryHandler) HandlePeerFound(p peer.AddrInfo) {
23 log.Warning("trying peer info: ", p)
24 ctx, cancel := context.WithTimeout(dh.ctx, discoveryConnTimeout)
25 defer cancel()
core/node/libp2p/host.go
+4 -4
@@ -4,11 +4,11 @@ import (
4 "context"
5
6 "github.com/libp2p/go-libp2p"
7 - host "github.com/libp2p/go-libp2p-host"
8 - peer "github.com/libp2p/go-libp2p-peer"
9 - peerstore "github.com/libp2p/go-libp2p-peerstore"
7 + host "github.com/libp2p/go-libp2p-core/host"
8 + peer "github.com/libp2p/go-libp2p-core/peer"
9 + peerstore "github.com/libp2p/go-libp2p-core/peerstore"
10 + routing "github.com/libp2p/go-libp2p-core/routing"
11 record "github.com/libp2p/go-libp2p-record"
11 - routing "github.com/libp2p/go-libp2p-routing"
12 routedhost "github.com/libp2p/go-libp2p/p2p/host/routed"
13 "go.uber.org/fx"
14
core/node/libp2p/hostopt.go
+3 -3
@@ -5,9 +5,9 @@ import (
5 "fmt"
6
7 "github.com/libp2p/go-libp2p"
8 - host "github.com/libp2p/go-libp2p-host"
9 - peer "github.com/libp2p/go-libp2p-peer"
10 - peerstore "github.com/libp2p/go-libp2p-peerstore"
8 + host "github.com/libp2p/go-libp2p-core/host"
9 + peer "github.com/libp2p/go-libp2p-core/peer"
10 + peerstore "github.com/libp2p/go-libp2p-core/peerstore"
11 )
12
13 type HostOption func(ctx context.Context, id peer.ID, ps peerstore.Peerstore, options ...libp2p.Option) (host.Host, error)
core/node/libp2p/libp2p.go
+3 -3
@@ -6,9 +6,9 @@ import (
6 logging "github.com/ipfs/go-log"
7 "github.com/libp2p/go-libp2p"
8 "github.com/libp2p/go-libp2p-connmgr"
9 - "github.com/libp2p/go-libp2p-crypto"
10 - "github.com/libp2p/go-libp2p-peer"
11 - "github.com/libp2p/go-libp2p-peerstore"
9 + "github.com/libp2p/go-libp2p-core/crypto"
10 + "github.com/libp2p/go-libp2p-core/peer"
11 + "github.com/libp2p/go-libp2p-core/peerstore"
12 "go.uber.org/fx"
13 )
14
core/node/libp2p/nat.go
+1 -1
@@ -3,7 +3,7 @@ package libp2p
3 import (
4 "github.com/libp2p/go-libp2p"
5 autonat "github.com/libp2p/go-libp2p-autonat-svc"
6 - host "github.com/libp2p/go-libp2p-host"
6 + host "github.com/libp2p/go-libp2p-core/host"
7 libp2pquic "github.com/libp2p/go-libp2p-quic-transport"
8 "go.uber.org/fx"
9
core/node/libp2p/pnet.go
+1 -1
@@ -7,7 +7,7 @@ import (
7 "time"
8
9 "github.com/libp2p/go-libp2p"
10 - host "github.com/libp2p/go-libp2p-host"
10 + host "github.com/libp2p/go-libp2p-core/host"
11 pnet "github.com/libp2p/go-libp2p-pnet"
12 "go.uber.org/fx"
13
core/node/libp2p/pubsub.go
+1 -1
@@ -1,7 +1,7 @@
1 package libp2p
2
3 import (
4 - host "github.com/libp2p/go-libp2p-host"
4 + host "github.com/libp2p/go-libp2p-core/host"
5 pubsub "github.com/libp2p/go-libp2p-pubsub"
6 "go.uber.org/fx"
7
core/node/libp2p/routing.go
+16 -16
@@ -4,12 +4,12 @@ import (
4 "context"
5 "sort"
6
7 - host "github.com/libp2p/go-libp2p-host"
7 + host "github.com/libp2p/go-libp2p-core/host"
8 + routing "github.com/libp2p/go-libp2p-core/routing"
9 dht "github.com/libp2p/go-libp2p-kad-dht"
10 "github.com/libp2p/go-libp2p-pubsub"
11 namesys "github.com/libp2p/go-libp2p-pubsub-router"
12 record "github.com/libp2p/go-libp2p-record"
12 - routing "github.com/libp2p/go-libp2p-routing"
13 routinghelpers "github.com/libp2p/go-libp2p-routing-helpers"
14 "go.uber.org/fx"
15
@@ -17,10 +17,10 @@ import (
17 "github.com/ipfs/go-ipfs/repo"
18 )
19
20 -type BaseIpfsRouting routing.IpfsRouting
20 +type BaseIpfsRouting routing.Routing
21
22 type Router struct {
23 - routing.IpfsRouting
23 + routing.Routing
24
25 Priority int // less = more important
26 }
@@ -44,8 +44,8 @@ func BaseRouting(lc fx.Lifecycle, in BaseIpfsRouting) (out p2pRouterOut, dr *dht
44
45 return p2pRouterOut{
46 Router: Router{
47 - Priority: 1000,
48 - IpfsRouting: in,
47 + Priority: 1000,
48 + Routing: in,
49 },
50 }, dr
51 }
@@ -57,16 +57,16 @@ type p2pOnlineRoutingIn struct {
57 Validator record.Validator
58 }
59
60 -func Routing(in p2pOnlineRoutingIn) routing.IpfsRouting {
60 +func Routing(in p2pOnlineRoutingIn) routing.Routing {
61 routers := in.Routers
62
63 sort.SliceStable(routers, func(i, j int) bool {
64 return routers[i].Priority < routers[j].Priority
65 })
66
67 - irouters := make([]routing.IpfsRouting, len(routers))
67 + irouters := make([]routing.Routing, len(routers))
68 for i, v := range routers {
69 - irouters[i] = v.IpfsRouting
69 + irouters[i] = v.Routing
70 }
71
72 return routinghelpers.Tiered{
@@ -78,25 +78,25 @@ func Routing(in p2pOnlineRoutingIn) routing.IpfsRouting {
78 type p2pPSRoutingIn struct {
79 fx.In
80
81 - BaseRouting BaseIpfsRouting
82 - Repo repo.Repo
83 - Validator record.Validator
84 - Host host.Host
85 - PubSub *pubsub.PubSub `optional:"true"`
81 + BaseIpfsRouting BaseIpfsRouting
82 + Repo repo.Repo
83 + Validator record.Validator
84 + Host host.Host
85 + PubSub *pubsub.PubSub `optional:"true"`
86 }
87
88 func PubsubRouter(mctx helpers.MetricsCtx, lc fx.Lifecycle, in p2pPSRoutingIn) (p2pRouterOut, *namesys.PubsubValueStore) {
89 psRouter := namesys.NewPubsubValueStore(
90 helpers.LifecycleCtx(mctx, lc),
91 in.Host,
92 - in.BaseRouting,
92 + in.BaseIpfsRouting,
93 in.PubSub,
94 in.Validator,
95 )
96
97 return p2pRouterOut{
98 Router: Router{
99 - IpfsRouting: &routinghelpers.Compose{
99 + Routing: &routinghelpers.Compose{
100 ValueStore: &routinghelpers.LimitedValueStore{
101 ValueStore: psRouter,
102 Namespaces: []string{"ipns"},
core/node/libp2p/routingopt.go
+5 -5
@@ -5,16 +5,16 @@ import (
5
6 "github.com/ipfs/go-datastore"
7 nilrouting "github.com/ipfs/go-ipfs-routing/none"
8 - host "github.com/libp2p/go-libp2p-host"
8 + host "github.com/libp2p/go-libp2p-core/host"
9 + routing "github.com/libp2p/go-libp2p-core/routing"
10 dht "github.com/libp2p/go-libp2p-kad-dht"
11 dhtopts "github.com/libp2p/go-libp2p-kad-dht/opts"
12 record "github.com/libp2p/go-libp2p-record"
12 - routing "github.com/libp2p/go-libp2p-routing"
13 )
14
15 -type RoutingOption func(context.Context, host.Host, datastore.Batching, record.Validator) (routing.IpfsRouting, error)
15 +type RoutingOption func(context.Context, host.Host, datastore.Batching, record.Validator) (routing.Routing, error)
16
17 -func constructDHTRouting(ctx context.Context, host host.Host, dstore datastore.Batching, validator record.Validator) (routing.IpfsRouting, error) {
17 +func constructDHTRouting(ctx context.Context, host host.Host, dstore datastore.Batching, validator record.Validator) (routing.Routing, error) {
18 return dht.New(
19 ctx, host,
20 dhtopts.Datastore(dstore),
@@ -22,7 +22,7 @@ func constructDHTRouting(ctx context.Context, host host.Host, dstore datastore.B
22 )
23 }
24
25 -func constructClientDHTRouting(ctx context.Context, host host.Host, dstore datastore.Batching, validator record.Validator) (routing.IpfsRouting, error) {
25 +func constructClientDHTRouting(ctx context.Context, host host.Host, dstore datastore.Batching, validator record.Validator) (routing.Routing, error) {
26 return dht.New(
27 ctx, host,
28 dhtopts.Client(true),
core/node/libp2p/smux.go
+2 -2
@@ -5,9 +5,9 @@ import (
5 "strings"
6
7 "github.com/libp2p/go-libp2p"
8 + smux "github.com/libp2p/go-libp2p-core/mux"
9 mplex "github.com/libp2p/go-libp2p-mplex"
10 yamux "github.com/libp2p/go-libp2p-yamux"
10 - smux "github.com/libp2p/go-stream-muxer"
11 )
12
13 func makeSmuxTransportOption(mplexExp bool) libp2p.Option {
@@ -21,7 +21,7 @@ func makeSmuxTransportOption(mplexExp bool) libp2p.Option {
21 ymxtpt.LogOutput = os.Stderr
22 }
23
24 - muxers := map[string]smux.Transport{yamuxID: &ymxtpt}
24 + muxers := map[string]smux.Multiplexer{yamuxID: &ymxtpt}
25 if mplexExp {
26 muxers[mplexID] = mplex.DefaultTransport
27 }
core/node/libp2p/transport.go
+1 -1
@@ -2,7 +2,7 @@ package libp2p
2
3 import (
4 "github.com/libp2p/go-libp2p"
5 - metrics "github.com/libp2p/go-libp2p-metrics"
5 + metrics "github.com/libp2p/go-libp2p-core/metrics"
6 libp2pquic "github.com/libp2p/go-libp2p-quic-transport"
7 secio "github.com/libp2p/go-libp2p-secio"
8 tls "github.com/libp2p/go-libp2p-tls"
core/node/provider.go
+4 -5
@@ -5,14 +5,13 @@ import (
5 "fmt"
6 "time"
7
8 - "go.uber.org/fx"
9 -
8 "github.com/ipfs/go-ipfs/core/node/helpers"
9 "github.com/ipfs/go-ipfs/provider"
10 q "github.com/ipfs/go-ipfs/provider/queue"
11 "github.com/ipfs/go-ipfs/provider/simple"
12 "github.com/ipfs/go-ipfs/repo"
15 - "github.com/libp2p/go-libp2p-routing"
13 + "github.com/libp2p/go-libp2p-core/routing"
14 + "go.uber.org/fx"
15 )
16
17 const kReprovideFrequency = time.Hour * 12
@@ -25,13 +24,13 @@ func ProviderQueue(mctx helpers.MetricsCtx, lc fx.Lifecycle, repo repo.Repo) (*q
24 }
25
26 // SimpleProvider creates new record provider
28 -func SimpleProvider(mctx helpers.MetricsCtx, lc fx.Lifecycle, queue *q.Queue, rt routing.IpfsRouting) provider.Provider {
27 +func SimpleProvider(mctx helpers.MetricsCtx, lc fx.Lifecycle, queue *q.Queue, rt routing.Routing) provider.Provider {
28 return simple.NewProvider(helpers.LifecycleCtx(mctx, lc), queue, rt)
29 }
30
31 // SimpleReprovider creates new reprovider
32 func SimpleReprovider(reproviderInterval time.Duration) interface{} {
34 - return func(mctx helpers.MetricsCtx, lc fx.Lifecycle, rt routing.IpfsRouting, keyProvider simple.KeyChanFunc) (provider.Reprovider, error) {
33 + return func(mctx helpers.MetricsCtx, lc fx.Lifecycle, rt routing.Routing, keyProvider simple.KeyChanFunc) (provider.Reprovider, error) {
34 return simple.NewReprovider(helpers.LifecycleCtx(mctx, lc), reproviderInterval, rt, keyProvider), nil
35 }
36 }
fuse/ipns/common.go
+1 -1
@@ -7,7 +7,7 @@ import (
7 nsys "github.com/ipfs/go-ipfs/namesys"
8 path "github.com/ipfs/go-path"
9 ft "github.com/ipfs/go-unixfs"
10 - ci "github.com/libp2p/go-libp2p-crypto"
10 + ci "github.com/libp2p/go-libp2p-core/crypto"
11 )
12
13 // InitializeKeyspace sets the ipns record for the given key to
fuse/ipns/ipns_test.go
+1 -1
@@ -20,7 +20,7 @@ import (
20 fstest "bazil.org/fuse/fs/fstestutil"
21 racedet "github.com/ipfs/go-detect-race"
22 u "github.com/ipfs/go-ipfs-util"
23 - ci "github.com/libp2p/go-testutil/ci"
23 + ci "github.com/libp2p/go-libp2p-testing/ci"
24 )
25
26 func maybeSkipFuseTests(t *testing.T) {
fuse/ipns/ipns_unix.go
+2 -2
@@ -24,8 +24,8 @@ import (
24 cid "github.com/ipfs/go-cid"
25 logging "github.com/ipfs/go-log"
26 mfs "github.com/ipfs/go-mfs"
27 - ci "github.com/libp2p/go-libp2p-crypto"
28 - peer "github.com/libp2p/go-libp2p-peer"
27 + ci "github.com/libp2p/go-libp2p-core/crypto"
28 + peer "github.com/libp2p/go-libp2p-core/peer"
29 )
30
31 func init() {
fuse/node/mount_test.go
+1 -1
@@ -17,7 +17,7 @@ import (
17 ipns "github.com/ipfs/go-ipfs/fuse/ipns"
18 mount "github.com/ipfs/go-ipfs/fuse/mount"
19
20 - ci "github.com/libp2p/go-testutil/ci"
20 + ci "github.com/libp2p/go-libp2p-testing/ci"
21 )
22
23 func maybeSkipFuseTests(t *testing.T) {
fuse/readonly/ipfs_test.go
+1 -1
@@ -31,7 +31,7 @@ import (
31 importer "github.com/ipfs/go-unixfs/importer"
32 uio "github.com/ipfs/go-unixfs/io"
33 ipath "github.com/ipfs/interface-go-ipfs-core/path"
34 - ci "github.com/libp2p/go-testutil/ci"
34 + ci "github.com/libp2p/go-libp2p-testing/ci"
35 )
36
37 func maybeSkipFuseTests(t *testing.T) {
go.mod
+31 -43
@@ -16,11 +16,11 @@ require (
16 github.com/golangci/golangci-lint v1.16.1-0.20190425135923-692dacb773b7
17 github.com/hashicorp/go-multierror v1.0.0
18 github.com/hashicorp/golang-lru v0.5.1
19 - github.com/hsanjuan/go-libp2p-http v0.0.2
19 + github.com/hsanjuan/go-libp2p-http v0.1.0
20 github.com/ipfs/dir-index-html v1.0.3
21 - github.com/ipfs/go-bitswap v0.0.7
21 + github.com/ipfs/go-bitswap v0.1.1
22 github.com/ipfs/go-block-format v0.0.2
23 - github.com/ipfs/go-blockservice v0.0.3
23 + github.com/ipfs/go-blockservice v0.1.0
24 github.com/ipfs/go-cid v0.0.2
25 github.com/ipfs/go-cidutil v0.0.2
26 github.com/ipfs/go-datastore v0.0.5
@@ -41,22 +41,22 @@ require (
41 github.com/ipfs/go-ipfs-exchange-offline v0.0.1
42 github.com/ipfs/go-ipfs-files v0.0.3
43 github.com/ipfs/go-ipfs-posinfo v0.0.1
44 - github.com/ipfs/go-ipfs-routing v0.0.1
44 + github.com/ipfs/go-ipfs-routing v0.1.0
45 github.com/ipfs/go-ipfs-util v0.0.1
46 github.com/ipfs/go-ipld-cbor v0.0.2
47 github.com/ipfs/go-ipld-format v0.0.2
48 github.com/ipfs/go-ipld-git v0.0.2
49 github.com/ipfs/go-ipns v0.0.1
50 github.com/ipfs/go-log v0.0.1
51 - github.com/ipfs/go-merkledag v0.0.3
51 + github.com/ipfs/go-merkledag v0.1.0
52 github.com/ipfs/go-metrics-interface v0.0.1
53 github.com/ipfs/go-metrics-prometheus v0.0.2
54 - github.com/ipfs/go-mfs v0.0.7
55 - github.com/ipfs/go-path v0.0.4
56 - github.com/ipfs/go-unixfs v0.0.6
54 + github.com/ipfs/go-mfs v0.1.0
55 + github.com/ipfs/go-path v0.0.7
56 + github.com/ipfs/go-unixfs v0.0.8
57 github.com/ipfs/go-verifcid v0.0.1
58 github.com/ipfs/hang-fds v0.0.1
59 - github.com/ipfs/interface-go-ipfs-core v0.0.8
59 + github.com/ipfs/interface-go-ipfs-core v0.1.0
60 github.com/ipfs/iptb v1.4.0
61 github.com/ipfs/iptb-plugins v0.0.2
62 github.com/jbenet/go-is-domain v1.0.2
@@ -64,39 +64,28 @@ require (
64 github.com/jbenet/go-random-files v0.0.0-20190219210431-31b3f20ebded
65 github.com/jbenet/go-temp-err-catcher v0.0.0-20150120210811-aac704a3f4f2
66 github.com/jbenet/goprocess v0.1.3
67 - github.com/libp2p/go-libp2p v0.0.28
68 - github.com/libp2p/go-libp2p-autonat-svc v0.0.5
69 - github.com/libp2p/go-libp2p-circuit v0.0.8
70 - github.com/libp2p/go-libp2p-connmgr v0.0.6
71 - github.com/libp2p/go-libp2p-crypto v0.0.2
72 - github.com/libp2p/go-libp2p-host v0.0.3
73 - github.com/libp2p/go-libp2p-interface-connmgr v0.0.5
74 - github.com/libp2p/go-libp2p-kad-dht v0.0.13
75 - github.com/libp2p/go-libp2p-kbucket v0.1.1
76 - github.com/libp2p/go-libp2p-loggables v0.0.1
77 - github.com/libp2p/go-libp2p-metrics v0.0.1
78 - github.com/libp2p/go-libp2p-mplex v0.1.1
79 - github.com/libp2p/go-libp2p-net v0.0.2
80 - github.com/libp2p/go-libp2p-peer v0.1.1
81 - github.com/libp2p/go-libp2p-peerstore v0.0.6
82 - github.com/libp2p/go-libp2p-pnet v0.0.1
83 - github.com/libp2p/go-libp2p-protocol v0.0.1
84 - github.com/libp2p/go-libp2p-pubsub v0.0.3
85 - github.com/libp2p/go-libp2p-pubsub-router v0.0.3
86 - github.com/libp2p/go-libp2p-quic-transport v0.0.3
87 - github.com/libp2p/go-libp2p-record v0.0.1
88 - github.com/libp2p/go-libp2p-routing v0.0.1
89 - github.com/libp2p/go-libp2p-routing-helpers v0.0.2
90 - github.com/libp2p/go-libp2p-secio v0.0.3
91 - github.com/libp2p/go-libp2p-swarm v0.0.6
92 - github.com/libp2p/go-libp2p-tls v0.0.1
93 - github.com/libp2p/go-libp2p-yamux v0.1.3
67 + github.com/libp2p/go-libp2p v0.1.0
68 + github.com/libp2p/go-libp2p-autonat-svc v0.1.0
69 + github.com/libp2p/go-libp2p-circuit v0.1.0
70 + github.com/libp2p/go-libp2p-connmgr v0.1.0
71 + github.com/libp2p/go-libp2p-core v0.0.2
72 + github.com/libp2p/go-libp2p-kad-dht v0.1.0
73 + github.com/libp2p/go-libp2p-kbucket v0.2.0
74 + github.com/libp2p/go-libp2p-loggables v0.1.0
75 + github.com/libp2p/go-libp2p-mplex v0.2.1
76 + github.com/libp2p/go-libp2p-peerstore v0.1.0
77 + github.com/libp2p/go-libp2p-pnet v0.1.0
78 + github.com/libp2p/go-libp2p-pubsub v0.1.0
79 + github.com/libp2p/go-libp2p-pubsub-router v0.1.0
80 + github.com/libp2p/go-libp2p-quic-transport v0.1.1
81 + github.com/libp2p/go-libp2p-record v0.1.0
82 + github.com/libp2p/go-libp2p-routing-helpers v0.1.0
83 + github.com/libp2p/go-libp2p-secio v0.1.0
84 + github.com/libp2p/go-libp2p-swarm v0.1.0
85 + github.com/libp2p/go-libp2p-testing v0.0.3
86 + github.com/libp2p/go-libp2p-tls v0.1.0
87 + github.com/libp2p/go-libp2p-yamux v0.2.0
88 github.com/libp2p/go-maddr-filter v0.0.4
95 - github.com/libp2p/go-mplex v0.0.4 // indirect
96 - github.com/libp2p/go-stream-muxer v0.0.1
97 - github.com/libp2p/go-testutil v0.0.1
98 - github.com/libp2p/go-yamux v1.2.3 // indirect
99 - github.com/mattn/go-isatty v0.0.7 // indirect
89 github.com/mattn/go-runewidth v0.0.4 // indirect
90 github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
91 github.com/mitchellh/go-homedir v1.1.0
@@ -121,8 +110,7 @@ require (
110 go.uber.org/goleak v0.10.0 // indirect
111 go.uber.org/multierr v1.1.0 // indirect
112 go4.org v0.0.0-20190313082347-94abd6928b1d // indirect
124 - golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5
125 - google.golang.org/appengine v1.4.0 // indirect
113 + golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09
114 gopkg.in/cheggaaa/pb.v1 v1.0.28
115 gotest.tools/gotestsum v0.3.4
116 )
go.sum
+223 -112
@@ -3,11 +3,14 @@ bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxo
3 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
4 github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7 h1:PqzgE6kAMi81xWQA2QIVxjWkFHptGgC547vchpUbtFo=
5 github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
6 +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
7 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
8 github.com/Kubuxu/go-os-helper v0.0.1 h1:EJiD2VUQyh5A9hWJLmc6iWg6yIcJ7jpBcwC8GMGXfDk=
9 github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y=
10 +github.com/Kubuxu/gocovmerge v0.0.0-20161216165753-7ecaa51963cd h1:HNhzThEtZW714v8Eda8sWWRcu9WSzJC+oCyjRjvZgRA=
11 github.com/Kubuxu/gocovmerge v0.0.0-20161216165753-7ecaa51963cd/go.mod h1:bqoB8kInrTeEtYAwaIXoSRqdwnjQmFhsfusnzyui6yY=
12 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
13 +github.com/OpenPeeDeeP/depguard v0.0.0-20180806142446-a69c782687b2 h1:HTOmFEEYrWi4MW5ZKUx6xfeyM10Sx3kQF65xiQJMPYA=
14 github.com/OpenPeeDeeP/depguard v0.0.0-20180806142446-a69c782687b2/go.mod h1:7/4sitnI9YlQgTLLk734QlzXT8DuHVnAyztLplQjk+o=
15 github.com/Quasilyte/go-consistent v0.0.0-20181230194409-8f8379e70f99/go.mod h1:ds1OLa3HF2x4OGKCx0pNTVL1s9Ii/2mT0Bg/8PtW6AM=
16 github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
@@ -26,16 +29,14 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb
29 github.com/bren2010/proquint v0.0.0-20160323162903-38337c27106d h1:QgeLLoPD3kRVmeu/1al9iIpIANMi9O1zXFm8BnYGCJg=
30 github.com/bren2010/proquint v0.0.0-20160323162903-38337c27106d/go.mod h1:Jbj8eKecMNwf0KFI75skSUZqMB4UCRcndUScVBTWyUI=
31 github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8=
29 -github.com/btcsuite/btcd v0.0.0-20190427004231-96897255fd17 h1:m0N5Vg5nP3zEz8TREZpwX3gt4Biw3/8fbIf4A3hO96g=
30 -github.com/btcsuite/btcd v0.0.0-20190427004231-96897255fd17/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
32 +github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c h1:aEbSeNALREWXk0G7UdNhR3ayBV7tZ4M2PNmnrCAph6Q=
33 +github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
34 github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
35 github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
36 github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
37 github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
38 github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
36 -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I=
39 github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
38 -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
40 github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
41 github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
42 github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY=
@@ -45,12 +46,14 @@ github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitf
46 github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
47 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
48 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
48 -github.com/coreos/go-semver v0.2.1-0.20180108230905-e214231b295a h1:U0BbGfKnviqVBJQB4etvm+mKx53KfkumNLBt6YeF/0Q=
49 github.com/coreos/go-semver v0.2.1-0.20180108230905-e214231b295a/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
50 +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
51 +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
52 github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0=
53 github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis=
54 github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
55 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
56 +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
57 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
58 github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018 h1:6xT9KW8zLC5IlbaIF5Q7JNieBoACT7iW0YTxQHR0in0=
59 github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4=
@@ -67,33 +70,48 @@ github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302/go.mod h1:qBlWZqWe
70 github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 h1:BBso6MBKW8ncyZLv37o+KNyy0HrrHgfnOaGQC2qvN+A=
71 github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5/go.mod h1:JpoxHjuQauoxiFMl1ie8Xc/7TfLuMZ5eOCONd1sUBHg=
72 github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
73 +github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
74 github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
75 github.com/fd/go-nat v1.0.0/go.mod h1:BTBu/CKvMmOMUPkKVef1pngt2WFH/lg7E6yQnulfp6E=
76 +github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
77 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
78 +github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI=
79 github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
80 github.com/go-critic/go-critic v0.0.0-20181204210945-c3db6069acc5/go.mod h1:Jc75BZJv2dNy7opKH6bF29VveDQHfGZ6Asn/3phBesg=
81 +github.com/go-critic/go-critic v0.0.0-20181204210945-ee9bf5809ead h1:qwmAYufKDopQnFdeMw+iHJVxAd2CbF+VFKHyJJwnPKk=
82 github.com/go-critic/go-critic v0.0.0-20181204210945-ee9bf5809ead/go.mod h1:3MzXZKJdeXqdU9cj+rvZdNiN7SZ8V9OjybF8loZDmHU=
83 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
84 +github.com/go-lintpack/lintpack v0.5.2 h1:DI5mA3+eKdWeJ40nU4d6Wc26qmdG8RCi/btYq0TuRN0=
85 github.com/go-lintpack/lintpack v0.5.2/go.mod h1:NwZuYi2nUHho8XEIZ6SIxihrnPoqBTDqfpXvXAN0sXM=
86 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
87 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
88 github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
89 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
90 +github.com/go-toolsmith/astcast v0.0.0-20181028201508-b7a89ed70af1 h1:h+1eMw+tZAlgTVclcVN0/rdPaBI/RUzG0peblT6df+Q=
91 github.com/go-toolsmith/astcast v0.0.0-20181028201508-b7a89ed70af1/go.mod h1:TEo3Ghaj7PsZawQHxT/oBvo4HK/sl1RcuUHDKTTju+o=
92 +github.com/go-toolsmith/astcopy v0.0.0-20180903214859-79b422d080c4 h1:wVs9OMjICHbAryp9hcIuWqUOi+NqEbUSZy9zMe3W//I=
93 github.com/go-toolsmith/astcopy v0.0.0-20180903214859-79b422d080c4/go.mod h1:c9CPdq2AzM8oPomdlPniEfPAC6g1s7NqZzODt8y6ib8=
94 +github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6 h1:aTBUNRTatDDU24gbOEKEoLiDwxtc98ga6K/iMTm6fvs=
95 github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
96 +github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086 h1:EIMuvbE9fbtQtimdLe5yeXjuC5CeKbQt8zH6GwtIrhM=
97 github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086/go.mod h1:mP93XdblcopXwlyN4X4uodxXQhldPGZbcEJIimQHrkg=
98 github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU=
99 +github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30 h1:zRJPftZJNLPDiOtvYbFRwjSbaJAcVOf80TeEmWGe2kQ=
100 github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30/go.mod h1:SV2ur98SGypH1UjcPpCatrV5hPazG6+IfNHbkDXBRrk=
101 +github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8 h1:vVouagbdmqTVlCIAxpyYsNNTbkKZ3V66VpKOLU/s6W4=
102 github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8/go.mod h1:WoMrjiy4zvdS+Bg6z9jZH82QXwkcgCBX6nOfnmdaHks=
103 +github.com/go-toolsmith/strparse v0.0.0-20180903215201-830b6daa1241 h1:ZRDeQioMGTBLeJxcPxXfFifEUgYxzR7fXw7w2WR+1bo=
104 github.com/go-toolsmith/strparse v0.0.0-20180903215201-830b6daa1241/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
105 +github.com/go-toolsmith/typep v0.0.0-20181030061450-d63dc7650676 h1:6Qrsp0+25KEkaS2bB26UE0giFgRrIc8mYXboDL5OVMA=
106 github.com/go-toolsmith/typep v0.0.0-20181030061450-d63dc7650676/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU=
107 +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
108 github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
109 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
110 github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
111 github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
112 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
113 github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
114 +github.com/golang/mock v1.2.0 h1:28o5sBqPkBsMGnC6b4MvE2TzSr5/AT4c/1fLqVGIwlk=
115 github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
116 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
117 github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
@@ -101,27 +119,46 @@ github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg
119 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
120 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w=
121 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
122 +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0=
123 github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4=
124 +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM=
125 github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk=
126 +github.com/golangci/errcheck v0.0.0-20181003203344-ef45e06d44b6 h1:i2jIkQFb8RG45DuQs+ElyROY848cSJIoIkBM+7XXypA=
127 github.com/golangci/errcheck v0.0.0-20181003203344-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0=
128 +github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613 h1:9kfjN3AdxcbsZBf8NjltjWihK2QfBBBZuv91cMFfDHw=
129 github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8=
130 +github.com/golangci/go-tools v0.0.0-20180109140146-af6baa5dc196 h1:9rtVlONXLF1rJZzvLt4tfOXtnAFUEhxCJ64Ibzj6ECo=
131 github.com/golangci/go-tools v0.0.0-20180109140146-af6baa5dc196/go.mod h1:unzUULGw35sjyOYjUt0jMTXqHlZPpPc6e+xfO4cd6mM=
132 +github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3 h1:pe9JHs3cHHDQgOFXJJdYkK6fLz2PWyYtP4hthoCMvs8=
133 github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o=
134 +github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee h1:J2XAy40+7yz70uaOiMbNnluTg7gyQhtGqLQncQh+4J8=
135 github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU=
136 +github.com/golangci/gofmt v0.0.0-20181105071733-0b8337e80d98 h1:ir6/L2ZOJfFrJlOTsuf/hlzdPuUwXV/VzkSlgS6f1vs=
137 github.com/golangci/gofmt v0.0.0-20181105071733-0b8337e80d98/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU=
138 +github.com/golangci/golangci-lint v1.16.1-0.20190425135923-692dacb773b7 h1:RfttK8W9qaF98OAdNFW2Mbr3ELn1Dyw1nnip6kYVc8M=
139 github.com/golangci/golangci-lint v1.16.1-0.20190425135923-692dacb773b7/go.mod h1:kSe2pu2LlcsMT5Dr95yNKUT5RNfMkwif9MZqtOW5NEs=
140 +github.com/golangci/gosec v0.0.0-20180901114220-66fb7fc33547 h1:qMomh8bv+kDazm1dSLZ9S3zZ2PJZMHL4ilfBjxFOlmI=
141 github.com/golangci/gosec v0.0.0-20180901114220-66fb7fc33547/go.mod h1:0qUabqiIQgfmlAmulqxyiGkkyF6/tOGSnY2cnPVwrzU=
142 +github.com/golangci/ineffassign v0.0.0-20180808204949-2ee8f2867dde h1:qEGp3ZF1Qw6TkbWKn6GdJ12Ssu/CpJBaBcJ4hrUjrSo=
143 github.com/golangci/ineffassign v0.0.0-20180808204949-2ee8f2867dde/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU=
144 +github.com/golangci/lint-1 v0.0.0-20180610141402-ee948d087217 h1:r7vyX+SN24x6+5AnpnrRn/bdwBb7U+McZqCHOVtXDuk=
145 github.com/golangci/lint-1 v0.0.0-20180610141402-ee948d087217/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg=
146 +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA=
147 github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o=
148 +github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770 h1:EL/O5HGrF7Jaq0yNhBLucz9hTuRzj2LdwGBOaENgxIk=
149 github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA=
150 +github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21 h1:leSNB7iYzLYSSx3J/s5sVf4Drkc68W2wm4Ixh/mr0us=
151 github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI=
152 +github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0 h1:HVfrLniijszjS1aiNg8JbBMO2+E1WIQ+j/gL4SQqGPg=
153 github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4=
154 +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys=
155 github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ=
156 +github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
157 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
158 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
159 github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
160 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
161 +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
162 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
163 github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
164 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
@@ -137,29 +174,39 @@ github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHh
174 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
175 github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
176 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
177 +github.com/hashicorp/hcl v0.0.0-20180404174102-ef8a98b0bbce h1:xdsDDbiBDQTKASoGEZ+pEmF1OnWuu8AQ9I8iNbHNeno=
178 github.com/hashicorp/hcl v0.0.0-20180404174102-ef8a98b0bbce/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
179 +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
180 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
142 -github.com/hsanjuan/go-libp2p-gostream v0.0.31 h1:9dIgHQPR0VWxhOyTZrbgLzTx0xvZ5rTpmhG9huGEPjY=
143 -github.com/hsanjuan/go-libp2p-gostream v0.0.31/go.mod h1:cWvV5/NQ5XWi0eQZnX/svsAk6NLc4U26pItvj0eDeRk=
144 -github.com/hsanjuan/go-libp2p-http v0.0.2 h1:hviJbUD3h1Ez2FYTUdnRjrkAzn/9i2V/cLZpFPgnuP8=
145 -github.com/hsanjuan/go-libp2p-http v0.0.2/go.mod h1:MynY94gfOZxrw/0lVF4o7vbV2Zr84IC8sLBXmj8F5IE=
181 +github.com/hsanjuan/go-libp2p-gostream v0.1.0 h1:Fk2j4UbUFsCvX9y66iL/8AqU4Il+QGnq73595eMoUX4=
182 +github.com/hsanjuan/go-libp2p-gostream v0.1.0/go.mod h1:+mgB1KPi3ACeWxwwBKaJKxnCh4RTWDfIRqKqWwatvLI=
183 +github.com/hsanjuan/go-libp2p-http v0.1.0 h1:O3t+2R/kqD4pTQUJJQdZlc/sMqub2ZMe+37SpQMGAn8=
184 +github.com/hsanjuan/go-libp2p-http v0.1.0/go.mod h1:cI7XxaacYXbUv6WXkScPgo5EOc1eU1ktw6bVkygjsnk=
185 github.com/huin/goupnp v0.0.0-20180415215157-1395d1447324/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag=
186 github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo=
187 github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc=
188 github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o=
189 +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
190 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
191 github.com/ipfs/bbloom v0.0.1 h1:s7KkiBPfxCeDVo47KySjK0ACPc5GJRUxFpdyWEuDjhw=
192 github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI=
193 github.com/ipfs/dir-index-html v1.0.3 h1:cKdOjJBKJgewgcv97zOlqsNOle52N91d3nAkbQadnuY=
194 github.com/ipfs/dir-index-html v1.0.3/go.mod h1:TG9zbaH/+4MnkGel0xF4SLNhk+YZvBNo6jjBkO/LaWc=
195 github.com/ipfs/go-bitswap v0.0.3/go.mod h1:jadAZYsP/tcRMl47ZhFxhaNuDQoXawT8iHMg+iFoQbg=
156 -github.com/ipfs/go-bitswap v0.0.7 h1:BJwx7Kh5W845l10bOckkAJiNrT6XXWNaE8neK7H57q4=
157 -github.com/ipfs/go-bitswap v0.0.7/go.mod h1:++LZRc+e1/ZxYsZq7QLKIPQvybh+70TMgeGuX+WB0pY=
196 +github.com/ipfs/go-bitswap v0.0.9 h1:Dy0qvYlaOd2E2FOL2gApJ21qVjepJsGNNfstLrGf+0I=
197 +github.com/ipfs/go-bitswap v0.0.9/go.mod h1:kAPf5qgn2W2DrgAcscZ3HrM9qh4pH+X8Fkk3UPrwvis=
198 +github.com/ipfs/go-bitswap v0.1.0 h1:28YsHYw9ut6wootnImPXH0WpnU5Dbo3qm6cvQ6e6wYY=
199 +github.com/ipfs/go-bitswap v0.1.0/go.mod h1:FFJEf18E9izuCqUtHxbWEvq+reg7o4CW5wSAE1wsxj0=
200 +github.com/ipfs/go-bitswap v0.1.1 h1:5cNAqH8I7pRmgCIrEaPErWewxbUnLru2BCliegnN/5w=
201 +github.com/ipfs/go-bitswap v0.1.1/go.mod h1:Eb5r34ftg4R38fGnQDlojCLZwZyr+WDsvBH5uLUQsjg=
202 github.com/ipfs/go-block-format v0.0.1/go.mod h1:DK/YYcsSUIVAFNwo/KZCdIIbpN0ROH/baNLgayt4pFc=
203 github.com/ipfs/go-block-format v0.0.2 h1:qPDvcP19izTjU8rgo6p7gTXZlkMkF5bz5G3fqIsSCPE=
204 github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=
161 -github.com/ipfs/go-blockservice v0.0.3 h1:40OvwrxeudTAlUGUAKNYnNPcwQeLtXedjzTWecnUinQ=
205 github.com/ipfs/go-blockservice v0.0.3/go.mod h1:/NNihwTi6V2Yr6g8wBI+BSwPuURpBRMtYNGrlxZ8KuI=
206 +github.com/ipfs/go-blockservice v0.0.7 h1:VRRVjgahs7r//MdO7yY5DJ2/i2fmkKOnxfSyfuPjTm0=
207 +github.com/ipfs/go-blockservice v0.0.7/go.mod h1:EOfb9k/Y878ZTRY/CH0x5+ATtaipfbRhbvNSdgc/7So=
208 +github.com/ipfs/go-blockservice v0.1.0 h1:dh2i7xjMbCtf0ZSMyQAF2qpV/pEEmM7yVpQ00+gik6U=
209 +github.com/ipfs/go-blockservice v0.1.0/go.mod h1:hzmMScl1kXHg3M2BjTymbVPjv627N7sYcvYaKbop39M=
210 github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
211 github.com/ipfs/go-cid v0.0.2 h1:tuuKaZPU1M6HcejsO3AcYWW8sZ8MTvyxfc4uqB4eFE8=
212 github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
@@ -169,6 +216,7 @@ github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAK
216 github.com/ipfs/go-datastore v0.0.3/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE=
217 github.com/ipfs/go-datastore v0.0.5 h1:q3OfiOZV5rlsK1H5V8benjeUApRfMGs4Mrhmr6NriQo=
218 github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE=
219 +github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk=
220 github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps=
221 github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8=
222 github.com/ipfs/go-ds-badger v0.0.3 h1:sVYE2YlCzltznTZeAP1S+bp3qipz7VzogfZDtf6tGq0=
@@ -186,6 +234,7 @@ github.com/ipfs/go-ipfs-addr v0.0.1 h1:DpDFybnho9v3/a1dzJ5KnWdThWD1HrFLpQ+tWIyBa
234 github.com/ipfs/go-ipfs-addr v0.0.1/go.mod h1:uKTDljHT3Q3SUWzDLp3aYUi8MrY32fgNgogsIa0npjg=
235 github.com/ipfs/go-ipfs-blockstore v0.0.1 h1:O9n3PbmTYZoNhkgkEyrXTznbmktIXif62xLX+8dPHzc=
236 github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08=
237 +github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ=
238 github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk=
239 github.com/ipfs/go-ipfs-chunker v0.0.1 h1:cHUUxKFQ99pozdahi+uSC/3Y6HeRpi9oTeUHbE27SEw=
240 github.com/ipfs/go-ipfs-chunker v0.0.1/go.mod h1:tWewYK0we3+rMbOh7pPFGDyypCtvGcBFymgY4rSDLAw=
@@ -195,6 +244,7 @@ github.com/ipfs/go-ipfs-config v0.0.1/go.mod h1:KDbHjNyg4e6LLQSQpkgQMBz6Jf4LXiWA
244 github.com/ipfs/go-ipfs-config v0.0.4 h1:zOWk1gGvIOptjHvvu0qSC8psB2IBKO/FbQArFnmm0LM=
245 github.com/ipfs/go-ipfs-config v0.0.4/go.mod h1:KDbHjNyg4e6LLQSQpkgQMBz6Jf4LXiWAcmnkcwmH0DU=
246 github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
247 +github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ=
248 github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
249 github.com/ipfs/go-ipfs-ds-help v0.0.1 h1:QBg+Ts2zgeemK/dB0saiF/ykzRGgfoFMT90Rzo0OnVU=
250 github.com/ipfs/go-ipfs-ds-help v0.0.1/go.mod h1:gtP9xRaZXqIQRh1HRpp595KbBEdgqWFxefeVKOV8sxo=
@@ -210,8 +260,9 @@ github.com/ipfs/go-ipfs-posinfo v0.0.1 h1:Esoxj+1JgSjX0+ylc0hUmJCOv6V2vFoZiETLR6
260 github.com/ipfs/go-ipfs-posinfo v0.0.1/go.mod h1:SwyeVP+jCwiDu0C313l/8jg6ZxM0qqtlt2a0vILTc1A=
261 github.com/ipfs/go-ipfs-pq v0.0.1 h1:zgUotX8dcAB/w/HidJh1zzc1yFq6Vm8J7T2F4itj/RU=
262 github.com/ipfs/go-ipfs-pq v0.0.1/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY=
213 -github.com/ipfs/go-ipfs-routing v0.0.1 h1:394mZeTLcbM/LDO12PneBYvkZAUA+nRnmC0lAzDXKOY=
263 github.com/ipfs/go-ipfs-routing v0.0.1/go.mod h1:k76lf20iKFxQTjcJokbPM9iBXVXVZhcOwc360N4nuKs=
264 +github.com/ipfs/go-ipfs-routing v0.1.0 h1:gAJTT1cEeeLj6/DlLX6t+NxD9fQe2ymTO6qWRDI/HQQ=
265 +github.com/ipfs/go-ipfs-routing v0.1.0/go.mod h1:hYoUkJLyAUKhF58tysKpids8RNDPO42BVMgK5dNsoqY=
266 github.com/ipfs/go-ipfs-util v0.0.1 h1:Wz9bL2wB2YBJqggkA4dD7oSmqB4cAnpNbGrlHJulv50=
267 github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc=
268 github.com/ipfs/go-ipld-cbor v0.0.1/go.mod h1:RXHr8s4k0NE0TKhnrxqZC9M888QfsBN9rhS5NjfKzY8=
@@ -226,30 +277,34 @@ github.com/ipfs/go-ipns v0.0.1 h1:5vX0+ehF55YWxE8Pmf4eB8szcP+fh24AXnvCkOmSLCc=
277 github.com/ipfs/go-ipns v0.0.1/go.mod h1:HOiAXgGiH0wCSwsFM1IKdOy6YGT4iZafcsUKni703/g=
278 github.com/ipfs/go-log v0.0.1 h1:9XTUN/rW64BCG1YhPK9Hoy3q8nr4gOmHHBpgFdfw6Lc=
279 github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM=
229 -github.com/ipfs/go-merkledag v0.0.3 h1:A5DlOMzqTRDVmdgkf3dzCKCFmVWH4Zqwb0cbYXUs+Ro=
280 github.com/ipfs/go-merkledag v0.0.3/go.mod h1:Oc5kIXLHokkE1hWGMBHw+oxehkAaTOqtEb7Zbh6BhLA=
281 +github.com/ipfs/go-merkledag v0.0.6 h1:rYZc0yzhO7y1cKi3Rw425a2HhEJDdLvNOWsqtmO3PF0=
282 +github.com/ipfs/go-merkledag v0.0.6/go.mod h1:QYPdnlvkOg7GnQRofu9XZimC5ZW5Wi3bKys/4GQQfto=
283 +github.com/ipfs/go-merkledag v0.1.0 h1:CAEXjRFEDPvealQj3TgEjV1IJckwjvmxAqtq5QSXJrg=
284 +github.com/ipfs/go-merkledag v0.1.0/go.mod h1:SQiXrtSts3KGNmgOzMICy5c0POOpUNQLvB3ClKnBAlk=
285 github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg=
286 github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY=
287 github.com/ipfs/go-metrics-prometheus v0.0.2 h1:9i2iljLg12S78OhC6UAiXi176xvQGiZaGVF1CUVdE+s=
288 github.com/ipfs/go-metrics-prometheus v0.0.2/go.mod h1:ELLU99AQQNi+zX6GCGm2lAgnzdSH3u5UVlCdqSXnEks=
235 -github.com/ipfs/go-mfs v0.0.7 h1:Xjqk0jAhgwhMHO39oH4jqP1QkeAGqDelxa814voygN0=
236 -github.com/ipfs/go-mfs v0.0.7/go.mod h1:10Hdow7wUbSlIamnOduxeP6MEp58TozZmdnAhugOKz8=
289 +github.com/ipfs/go-mfs v0.1.0 h1:XVAdaMQtLV0KCNC7CnZlLAFiIU23RD/3Tvb8h6KDLaY=
290 +github.com/ipfs/go-mfs v0.1.0/go.mod h1:/oADRI/at3cfIHqL4BTAF5n0nvWO4XpMi5nmHoxwhrQ=
291 github.com/ipfs/go-path v0.0.3/go.mod h1:zIRQUez3LuQIU25zFjC2hpBTHimWx7VK5bjZgRLbbdo=
238 -github.com/ipfs/go-path v0.0.4 h1:zG/id80tV51XAfvCsRJIEGQSHGuTDBi8RWrtr3EfcfY=
239 -github.com/ipfs/go-path v0.0.4/go.mod h1:zIRQUez3LuQIU25zFjC2hpBTHimWx7VK5bjZgRLbbdo=
240 -github.com/ipfs/go-peertaskqueue v0.0.4 h1:i0JprfjjILYcWM1xguO/1MCS8XKVxLSl+ECEVr6i8nw=
292 +github.com/ipfs/go-path v0.0.7 h1:H06hKMquQ0aYtHiHryOMLpQC1qC3QwXwkahcEVD51Ho=
293 +github.com/ipfs/go-path v0.0.7/go.mod h1:6KTKmeRnBXgqrTvzFrPV3CamxcgvXX/4z79tfAd2Sno=
294 github.com/ipfs/go-peertaskqueue v0.0.4/go.mod h1:03H8fhyeMfKNFWqzYEVyMbcPUeYrqP1MX6Kd+aN+rMQ=
295 +github.com/ipfs/go-peertaskqueue v0.1.0 h1:bpRbgv76eT4avutNPDFZuCPOQus6qTgurEYxfulgZW4=
296 +github.com/ipfs/go-peertaskqueue v0.1.0/go.mod h1:Jmk3IyCcfl1W3jTW3YpghSwSEC6IJ3Vzz/jUmWw8Z0U=
297 github.com/ipfs/go-todocounter v0.0.1 h1:kITWA5ZcQZfrUnDNkRn04Xzh0YFaDFXsoO2A81Eb6Lw=
298 github.com/ipfs/go-todocounter v0.0.1/go.mod h1:l5aErvQc8qKE2r7NDMjmq5UNAvuZy0rC8BHOplkWvZ4=
299 github.com/ipfs/go-unixfs v0.0.4/go.mod h1:eIo/p9ADu/MFOuyxzwU+Th8D6xoxU//r590vUpWyfz8=
245 -github.com/ipfs/go-unixfs v0.0.6 h1:mQ6KS3NK4GA9hyUpGdGItqt5llzyIx0Qy2UxC/A7bEo=
246 -github.com/ipfs/go-unixfs v0.0.6/go.mod h1:g41FlHFM/qacA3jzMPOYKIwNwbgTQEKJH2hQiq19Zrc=
300 +github.com/ipfs/go-unixfs v0.0.8 h1:AHahQ+gdNZd9BhKVLf8XP1EWeKa78eTzYgCygp7N/Pg=
301 +github.com/ipfs/go-unixfs v0.0.8/go.mod h1:cK2vDJ7L4YnWB6oLefpVNesgx0x/zPTRVDw6B4Y+03U=
302 github.com/ipfs/go-verifcid v0.0.1 h1:m2HI7zIuR5TFyQ1b79Da5N9dnnCP1vcu2QqawmWlK2E=
303 github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0=
304 github.com/ipfs/hang-fds v0.0.1 h1:KGAxiGtJPT3THVRNT6yxgpdFPeX4ZemUjENOt6NlOn4=
305 github.com/ipfs/hang-fds v0.0.1/go.mod h1:U4JNbzwTpk/qP2Ms4VgrZ4HcgJGVosBJqMXvwe4udSY=
251 -github.com/ipfs/interface-go-ipfs-core v0.0.8 h1:nmEYOfK6QRf3VIdggoZ4rmbKXcC2g6cEdU13Z1CvmL4=
252 -github.com/ipfs/interface-go-ipfs-core v0.0.8/go.mod h1:RU+DSZXV+JdA7Yagu3OrSoB6hngSmMtK1w6ENOqmfQ8=
306 +github.com/ipfs/interface-go-ipfs-core v0.1.0 h1:4LD2TJThswXVMJgAji9k9PyPsOGNtmdcx7U9RM1xH84=
307 +github.com/ipfs/interface-go-ipfs-core v0.1.0/go.mod h1:h1zJvvfh9dcNU0bK+Jag516LputHLKQkHsDP+z0dz4A=
308 github.com/ipfs/iptb v1.4.0 h1:YFYTrCkLMRwk/35IMyC6+yjoQSHTEcNcefBStLJzgvo=
309 github.com/ipfs/iptb v1.4.0/go.mod h1:1rzHpCYtNp87/+hTxG5TfCVn/yMY3dKnLn8tBiMfdmg=
310 github.com/ipfs/iptb-plugins v0.0.2 h1:JZp4h/+7f00dY4Epr8gzF+VqKITXmVGsZabvmZp7E9I=
@@ -260,8 +315,8 @@ github.com/jackpal/gateway v1.0.5/go.mod h1:lTpwd4ACLXmpyiCTRtfiNyVnUmqT9RivzCDQ
315 github.com/jackpal/go-nat-pmp v1.0.1 h1:i0LektDkO1QlrTm/cSuP+PyBCDnYvjPLGl4LdWEMiaA=
316 github.com/jackpal/go-nat-pmp v1.0.1/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
317 github.com/jbenet/go-cienv v0.0.0-20150120210510-1bb1476777ec/go.mod h1:rGaEvXB4uRSZMmzKNLoXvTu1sfx+1kv/DojUlPrSZGs=
318 +github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc=
319 github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA=
264 -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
320 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
321 github.com/jbenet/go-is-domain v1.0.2 h1:11r5MSptcNFZyBoqubBQnVMUKRWLuRjL1banaIk+iYo=
322 github.com/jbenet/go-is-domain v1.0.2/go.mod h1:xbRLRb0S7FgzDBTJlguhDVwLYM/5yNtvktxj2Ttfy7Q=
@@ -275,63 +330,72 @@ github.com/jbenet/goprocess v0.0.0-20160826012719-b497e2f366b8/go.mod h1:Ly/wlsj
330 github.com/jbenet/goprocess v0.1.3 h1:YKyIEECS/XvcfHtBzxtjBBbWK+MbvA6dG8ASiqwvr10=
331 github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4=
332 github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
278 -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
333 +github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
334 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
335 github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
336 +github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE=
337 github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
338 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
339 github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
284 -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
340 github.com/kisielk/gotool v0.0.0-20161130080628-0de1eaf82fa3/go.mod h1:jxZFDH7ILpTPQTk+E2s+z4CUas9lVNjIuKR4c5/zKgM=
341 +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
342 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
343 github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
288 -github.com/kkdai/bstream v0.0.0-20181106074824-b3251f7901ec/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
344 +github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
345 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
346 github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b h1:wxtKgYHEncAU00muMD06dzLiahtGM1eouRNOzVV7tdQ=
347 github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk=
348 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
349 +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
350 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
351 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
352 +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
353 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
354 github.com/libp2p/go-addr-util v0.0.1 h1:TpTQm9cXVRVSKsYbgQ7GKc3KbbHVTnbostgGaDEP+88=
355 github.com/libp2p/go-addr-util v0.0.1/go.mod h1:4ac6O7n9rIAKB1dnd+s8IbbMXkt+oBpzX4/+RACcnlQ=
356 github.com/libp2p/go-buffer-pool v0.0.1/go.mod h1:xtyIz9PMobb13WaxR6Zo1Pd1zXJKYg0a8KiIvDp3TzQ=
357 github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs=
358 github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM=
301 -github.com/libp2p/go-conn-security v0.0.1 h1:4kMMrqrt9EUNCNjX1xagSJC+bq16uqjMe9lk1KBMVNs=
359 github.com/libp2p/go-conn-security v0.0.1/go.mod h1:bGmu51N0KU9IEjX7kl2PQjgZa40JQWnayTvNMgD/vyk=
360 github.com/libp2p/go-conn-security-multistream v0.0.1/go.mod h1:nc9vud7inQ+d6SO0I/6dSWrdMnHnzZNHeyUQqrAJulE=
304 -github.com/libp2p/go-conn-security-multistream v0.0.2 h1:Ykz0lnNjxk+0SdslUmlLNyrleqdpS1S/VW+dxFdt74Y=
361 github.com/libp2p/go-conn-security-multistream v0.0.2/go.mod h1:nc9vud7inQ+d6SO0I/6dSWrdMnHnzZNHeyUQqrAJulE=
362 +github.com/libp2p/go-conn-security-multistream v0.1.0 h1:aqGmto+ttL/uJgX0JtQI0tD21CIEy5eYd1Hlp0juHY0=
363 +github.com/libp2p/go-conn-security-multistream v0.1.0/go.mod h1:aw6eD7LOsHEX7+2hJkDxw1MteijaVcI+/eP2/x3J1xc=
364 github.com/libp2p/go-flow-metrics v0.0.1 h1:0gxuFd2GuK7IIP5pKljLwps6TvcuYgvG7Atqi3INF5s=
365 github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8=
366 github.com/libp2p/go-libp2p v0.0.2/go.mod h1:Qu8bWqFXiocPloabFGUcVG4kk94fLvfC8mWTDdFC9wE=
309 -github.com/libp2p/go-libp2p v0.0.27/go.mod h1:kjeVlESxQisK2DvyKp38/UMHYd9gAMTj3C3XOB/DEZo=
310 -github.com/libp2p/go-libp2p v0.0.28 h1:tkDnM7iwrz9OSRRb8YAV4HYjv8TKsAxyxrV2sES9/Aw=
311 -github.com/libp2p/go-libp2p v0.0.28/go.mod h1:GBW0VbgEKe8ELXVpLQJduJYlJHRv/XfwP6Fo9TEcDJU=
367 +github.com/libp2p/go-libp2p v0.0.30/go.mod h1:XWT8FGHlhptAv1+3V/+J5mEpzyui/5bvFsNuWYs611A=
368 +github.com/libp2p/go-libp2p v0.1.0 h1:8VXadcPNni74ODoZ+7326LMAppFYmz1fRQOUuT5iZvQ=
369 +github.com/libp2p/go-libp2p v0.1.0/go.mod h1:6D/2OBauqLUoqcADOJpn9WbKqvaM07tDw68qHM0BxUM=
370 github.com/libp2p/go-libp2p-autonat v0.0.2/go.mod h1:fs71q5Xk+pdnKU014o2iq1RhMs9/PMaG5zXRFNnIIT4=
313 -github.com/libp2p/go-libp2p-autonat v0.0.3/go.mod h1:fs71q5Xk+pdnKU014o2iq1RhMs9/PMaG5zXRFNnIIT4=
314 -github.com/libp2p/go-libp2p-autonat v0.0.5/go.mod h1:cKt+qOSnWAZp0dqIuUk62v0/QAPw0vnLuVZnmzkOXRk=
315 -github.com/libp2p/go-libp2p-autonat v0.0.6 h1:OCStANLLpeyQeWFUuqZJ7aS9+Bx0/uoVb1PtLA9fGTQ=
371 github.com/libp2p/go-libp2p-autonat v0.0.6/go.mod h1:uZneLdOkZHro35xIhpbtTzLlgYturpu4J5+0cZK3MqE=
372 +github.com/libp2p/go-libp2p-autonat v0.1.0 h1:aCWAu43Ri4nU0ZPO7NyLzUvvfqd0nE3dX0R/ZGYVgOU=
373 +github.com/libp2p/go-libp2p-autonat v0.1.0/go.mod h1:1tLf2yXxiE/oKGtDwPYWTSYG3PtvYlJmg7NeVtPRqH8=
374 github.com/libp2p/go-libp2p-autonat-svc v0.0.2/go.mod h1:j4iMiw0d3diRm5iB0noXumtb0mPvWrM1qAyh640cp8w=
318 -github.com/libp2p/go-libp2p-autonat-svc v0.0.5 h1:bTom7QFAkJMXiA8ibSsKQ2+LKEHsXZz2IAWYolg/YYg=
319 -github.com/libp2p/go-libp2p-autonat-svc v0.0.5/go.mod h1:6aLiQelA0CKEcPR0TvE9bqJ7U8Mc0nVdwCoho3ROdck=
375 +github.com/libp2p/go-libp2p-autonat-svc v0.1.0 h1:28IM7iWMDclZeVkpiFQaWVANwXwE7zLlpbnS7yXxrfs=
376 +github.com/libp2p/go-libp2p-autonat-svc v0.1.0/go.mod h1:fqi8Obl/z3R4PFVLm8xFtZ6PBL9MlV/xumymRFkKq5A=
377 github.com/libp2p/go-libp2p-blankhost v0.0.1/go.mod h1:Ibpbw/7cPPYwFb7PACIWdvxxv0t0XCCI10t7czjAjTc=
378 +github.com/libp2p/go-libp2p-blankhost v0.1.1 h1:X919sCh+KLqJcNRApj43xCSiQRYqOSI88Fdf55ngf78=
379 +github.com/libp2p/go-libp2p-blankhost v0.1.1/go.mod h1:pf2fvdLJPsC1FsVrNP3DUUvMzUts2dsLLBEpo1vW1ro=
380 github.com/libp2p/go-libp2p-circuit v0.0.1/go.mod h1:Dqm0s/BiV63j8EEAs8hr1H5HudqvCAeXxDyic59lCwE=
322 -github.com/libp2p/go-libp2p-circuit v0.0.7/go.mod h1:DFCgZ2DklFGTUIZIhSvbbWXTErUgjyNrJGfDHOrTKIA=
323 -github.com/libp2p/go-libp2p-circuit v0.0.8 h1:vd9vZDy+LDssTvUuxIqnYUOAK2hfHoSQO2xjWhPVEmc=
324 -github.com/libp2p/go-libp2p-circuit v0.0.8/go.mod h1:DFCgZ2DklFGTUIZIhSvbbWXTErUgjyNrJGfDHOrTKIA=
381 +github.com/libp2p/go-libp2p-circuit v0.0.9/go.mod h1:uU+IBvEQzCu953/ps7bYzC/D/R0Ho2A9LfKVVCatlqU=
382 +github.com/libp2p/go-libp2p-circuit v0.1.0 h1:eniLL3Y9aq/sryfyV1IAHj5rlvuyj3b7iz8tSiZpdhY=
383 +github.com/libp2p/go-libp2p-circuit v0.1.0/go.mod h1:Ahq4cY3V9VJcHcn1SBXjr78AbFkZeIRmfunbA7pmFh8=
384 github.com/libp2p/go-libp2p-connmgr v0.0.1/go.mod h1:eUBBlbuwBBTd/eim7KV5x0fOD2UHDjSwhzmBL6miIx8=
326 -github.com/libp2p/go-libp2p-connmgr v0.0.6 h1:oEUriPO/qWTvfHRPEU4HdNlNhYigdueOs2X3UZCdbYM=
327 -github.com/libp2p/go-libp2p-connmgr v0.0.6/go.mod h1:uwDfgdgqB5248sQYib1xo603cSsMg9PgAKu0Z+Y65Qk=
385 +github.com/libp2p/go-libp2p-connmgr v0.1.0 h1:vp0t0F0EuT3rrlTtnMnIyyzCnly7nIlRoEbhJpgp0qU=
386 +github.com/libp2p/go-libp2p-connmgr v0.1.0/go.mod h1:wZxh8veAmU5qdrfJ0ZBLcU8oJe9L82ciVP/fl1VHjXk=
387 +github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco=
388 +github.com/libp2p/go-libp2p-core v0.0.2 h1:86uOwW+O6Uc7NbaK4diuLZo2/Ikvqw2rgyV03VcSbLE=
389 +github.com/libp2p/go-libp2p-core v0.0.2/go.mod h1:9dAcntw/n46XycV4RnlBq3BpgrmyUi9LuoTNdPrbUco=
390 github.com/libp2p/go-libp2p-crypto v0.0.1/go.mod h1:yJkNyDmO341d5wwXxDUGO0LykUVT72ImHNUqh5D/dBE=
329 -github.com/libp2p/go-libp2p-crypto v0.0.2 h1:TTdJ4y6Uoa6NxQcuEaVkQfFRcQeCE2ReDk8Ok4I0Fyw=
391 github.com/libp2p/go-libp2p-crypto v0.0.2/go.mod h1:eETI5OUfBnvARGOHrJz2eWNyTUxEGZnBxMcbUjfIj4I=
392 +github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ=
393 +github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI=
394 github.com/libp2p/go-libp2p-daemon v0.0.6/go.mod h1:nkhjsjSzkF+tg6iScsTTgq9m+VfyMtXNpycYG4CFvC8=
395 github.com/libp2p/go-libp2p-discovery v0.0.1/go.mod h1:ZkkF9xIFRLA1xCc7bstYFkd80gBGK8Fc1JqGoU2i+zI=
333 -github.com/libp2p/go-libp2p-discovery v0.0.4 h1:/kZwOVmcUHvB94zegSJYnUA9EvT1g8APoQJb5FHyT1c=
334 -github.com/libp2p/go-libp2p-discovery v0.0.4/go.mod h1:ReQGiv7QTtza8FUWzewfuMmRDVOQVp+lxHlJJA8YQCM=
396 +github.com/libp2p/go-libp2p-discovery v0.0.5/go.mod h1:YtF20GUxjgoKZ4zmXj8j3Nb2TUSBHFlOCetzYdbZL5I=
397 +github.com/libp2p/go-libp2p-discovery v0.1.0 h1:j+R6cokKcGbnZLf4kcNwpx6mDEUPF3N6SrqMymQhmvs=
398 +github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g=
399 github.com/libp2p/go-libp2p-host v0.0.1/go.mod h1:qWd+H1yuU0m5CwzAkvbSjqKairayEHdR5MMl7Cwa7Go=
400 github.com/libp2p/go-libp2p-host v0.0.3 h1:BB/1Z+4X0rjKP5lbQTmjEjLbDVbrcmLOlA6QDsN5/j4=
401 github.com/libp2p/go-libp2p-host v0.0.3/go.mod h1:Y/qPyA6C8j2coYyos1dfRm0I8+nvd4TGrDGt4tA7JR8=
@@ -339,20 +403,21 @@ github.com/libp2p/go-libp2p-interface-connmgr v0.0.1/go.mod h1:GarlRLH0LdeWcLnYM
403 github.com/libp2p/go-libp2p-interface-connmgr v0.0.4/go.mod h1:GarlRLH0LdeWcLnYM/SaBykKFl9U5JFnbBGruAk/D5k=
404 github.com/libp2p/go-libp2p-interface-connmgr v0.0.5 h1:KG/KNYL2tYzXAfMvQN5K1aAGTYSYUMJ1prgYa2/JI1E=
405 github.com/libp2p/go-libp2p-interface-connmgr v0.0.5/go.mod h1:GarlRLH0LdeWcLnYM/SaBykKFl9U5JFnbBGruAk/D5k=
342 -github.com/libp2p/go-libp2p-interface-pnet v0.0.1 h1:7GnzRrBTJHEsofi1ahFdPN9Si6skwXQE9UqR2S+Pkh8=
406 github.com/libp2p/go-libp2p-interface-pnet v0.0.1/go.mod h1:el9jHpQAXK5dnTpKA4yfCNBZXvrzdOU75zz+C6ryp3k=
407 github.com/libp2p/go-libp2p-kad-dht v0.0.4/go.mod h1:oaBflOQcuC8H+SVV0YN26H6AS+wcUEJyjUGV66vXuSY=
345 -github.com/libp2p/go-libp2p-kad-dht v0.0.13 h1:ReMb41jJrngvXnU5Tirf74bBkXx4M9ne5QyFQPeNYtw=
346 -github.com/libp2p/go-libp2p-kad-dht v0.0.13/go.mod h1:3A4xaZJeJ3zD3jCg17mtI+rA7uuXiiQdKVyAZOhZo1U=
408 +github.com/libp2p/go-libp2p-kad-dht v0.1.0 h1:cupGornmncdQCnjArAv9Txkqy43wgQCxoe/5pfIDF/4=
409 +github.com/libp2p/go-libp2p-kad-dht v0.1.0/go.mod h1:EiH74cOsCxcu2Yh1XxQMpf1uHcLNm/hYEJBOIRlzHNE=
410 github.com/libp2p/go-libp2p-kbucket v0.0.1/go.mod h1:Y0iQDHRTk/ZgM8PC4jExoF+E4j+yXWwRkdldkMa5Xm4=
348 -github.com/libp2p/go-libp2p-kbucket v0.1.1 h1:ZrvW3qCM+lAuv7nrNts/zfEiClq+GZe8OIzX4Vb3Dwo=
349 -github.com/libp2p/go-libp2p-kbucket v0.1.1/go.mod h1:Y0iQDHRTk/ZgM8PC4jExoF+E4j+yXWwRkdldkMa5Xm4=
350 -github.com/libp2p/go-libp2p-loggables v0.0.1 h1:HVww9oAnINIxbt69LJNkxD8lnbfgteXR97Xm4p3l9ps=
411 +github.com/libp2p/go-libp2p-kbucket v0.2.0 h1:FB2a0VkOTNGTP5gu/I444u4WabNM9V1zCkQcWb7zajI=
412 +github.com/libp2p/go-libp2p-kbucket v0.2.0/go.mod h1:JNymBToym3QXKBMKGy3m29+xprg0EVr/GJFHxFEdgh8=
413 github.com/libp2p/go-libp2p-loggables v0.0.1/go.mod h1:lDipDlBNYbpyqyPX/KcoO+eq0sJYEVR2JgOexcivchg=
352 -github.com/libp2p/go-libp2p-metrics v0.0.1 h1:yumdPC/P2VzINdmcKZd0pciSUCpou+s0lwYCjBbzQZU=
414 +github.com/libp2p/go-libp2p-loggables v0.1.0 h1:h3w8QFfCt2UJl/0/NW4K829HX/0S4KD31PQ7m8UXXO8=
415 +github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3xoDasoRYM7nOzEpoa90=
416 github.com/libp2p/go-libp2p-metrics v0.0.1/go.mod h1:jQJ95SXXA/K1VZi13h52WZMa9ja78zjyy5rspMsC/08=
354 -github.com/libp2p/go-libp2p-mplex v0.1.1 h1:lSPS1VJ36P01gGO//KgcsmSah5uoC3X9r7WY5j+iP4c=
417 github.com/libp2p/go-libp2p-mplex v0.1.1/go.mod h1:KUQWpGkCzfV7UIpi8SKsAVxyBgz1c9R5EvxgnwLsb/I=
418 +github.com/libp2p/go-libp2p-mplex v0.2.0/go.mod h1:Ejl9IyjvXJ0T9iqUTE1jpYATQ9NM3g+OtR+EMMODbKo=
419 +github.com/libp2p/go-libp2p-mplex v0.2.1 h1:E1xaJBQnbSiTHGI1gaBKmKhu1TUKkErKJnE8iGvirYI=
420 +github.com/libp2p/go-libp2p-mplex v0.2.1/go.mod h1:SC99Rxs8Vuzrf/6WhmH41kNn13TiYdAWNYHrwImKLnE=
421 github.com/libp2p/go-libp2p-nat v0.0.2/go.mod h1:QrjXQSD5Dj4IJOdEcjHRkWTSomyxRo6HnUkf/TfQpLQ=
422 github.com/libp2p/go-libp2p-nat v0.0.4 h1:+KXK324yaY701On8a0aGjTnw8467kW3ExKcqW2wwmyw=
423 github.com/libp2p/go-libp2p-nat v0.0.4/go.mod h1:N9Js/zVtAXqaeT99cXgTV9e75KpnWCvVOiGzlcHmBbY=
@@ -361,60 +426,73 @@ github.com/libp2p/go-libp2p-net v0.0.1/go.mod h1:Yt3zgmlsHOgUWSXmt5V/Jpz9upuJBE8
426 github.com/libp2p/go-libp2p-net v0.0.2 h1:qP06u4TYXfl7uW/hzqPhlVVTSA2nw1B/bHBJaUnbh6M=
427 github.com/libp2p/go-libp2p-net v0.0.2/go.mod h1:Yt3zgmlsHOgUWSXmt5V/Jpz9upuJBE8EgNU9DrCcR8c=
428 github.com/libp2p/go-libp2p-netutil v0.0.1/go.mod h1:GdusFvujWZI9Vt0X5BKqwWWmZFxecf9Gt03cKxm2f/Q=
429 +github.com/libp2p/go-libp2p-netutil v0.1.0 h1:zscYDNVEcGxyUpMd0JReUZTrpMfia8PmLKcKF72EAMQ=
430 +github.com/libp2p/go-libp2p-netutil v0.1.0/go.mod h1:3Qv/aDqtMLTUyQeundkKsA+YCThNdbQD54k3TqjpbFU=
431 github.com/libp2p/go-libp2p-peer v0.0.1/go.mod h1:nXQvOBbwVqoP+T5Y5nCjeH4sP9IX/J0AMzcDUVruVoo=
365 -github.com/libp2p/go-libp2p-peer v0.1.1 h1:qGCWD1a+PyZcna6htMPo26jAtqirVnJ5NvBQIKV7rRY=
432 github.com/libp2p/go-libp2p-peer v0.1.1/go.mod h1:jkF12jGB4Gk/IOo+yomm+7oLWxF278F7UnrYUQ1Q8es=
433 +github.com/libp2p/go-libp2p-peer v0.2.0 h1:EQ8kMjaCUwt/Y5uLgjT8iY2qg0mGUT0N1zUjer50DsY=
434 +github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY=
435 github.com/libp2p/go-libp2p-peerstore v0.0.0-20190226201924-e2df3e49eabf/go.mod h1:lLfgn0N3z2t+ER57a88K7NTZjMO27ez5TyWSURd428E=
436 github.com/libp2p/go-libp2p-peerstore v0.0.1/go.mod h1:RabLyPVJLuNQ+GFyoEkfi8H4Ti6k/HtZJ7YKgtSq+20=
369 -github.com/libp2p/go-libp2p-peerstore v0.0.6 h1:RgX/djPFXqZGktW0j2eF4NAX0pzDsCot45jO2GewC+g=
437 github.com/libp2p/go-libp2p-peerstore v0.0.6/go.mod h1:RabLyPVJLuNQ+GFyoEkfi8H4Ti6k/HtZJ7YKgtSq+20=
371 -github.com/libp2p/go-libp2p-pnet v0.0.1 h1:2e5d15M8XplUKsU4Fqrll5eDfqGg/7mHUufLkhbfKHM=
372 -github.com/libp2p/go-libp2p-pnet v0.0.1/go.mod h1:bWN8HqdpgCdKnXSCsJhbWjiU3UZFa/tIe4no5jCmHVw=
438 +github.com/libp2p/go-libp2p-peerstore v0.1.0 h1:MKh7pRNPHSh1fLPj8u/M/s/napdmeNpoi9BRy9lPN0E=
439 +github.com/libp2p/go-libp2p-peerstore v0.1.0/go.mod h1:2CeHkQsr8svp4fZ+Oi9ykN1HBb6u0MOvdJ7YIsmcwtY=
440 +github.com/libp2p/go-libp2p-pnet v0.1.0 h1:kRUES28dktfnHNIRW4Ro78F7rKBHBiw5MJpl0ikrLIA=
441 +github.com/libp2p/go-libp2p-pnet v0.1.0/go.mod h1:ZkyZw3d0ZFOex71halXRihWf9WH/j3OevcJdTmD0lyE=
442 github.com/libp2p/go-libp2p-protocol v0.0.0-20171212212132-b29f3d97e3a2/go.mod h1:Af9n4PiruirSDjHycM1QuiMi/1VZNHYcK8cLgFJLZ4s=
374 -github.com/libp2p/go-libp2p-protocol v0.0.1 h1:+zkEmZ2yFDi5adpVE3t9dqh/N9TbpFWywowzeEzBbLM=
443 github.com/libp2p/go-libp2p-protocol v0.0.1/go.mod h1:Af9n4PiruirSDjHycM1QuiMi/1VZNHYcK8cLgFJLZ4s=
444 +github.com/libp2p/go-libp2p-protocol v0.1.0 h1:HdqhEyhg0ToCaxgMhnOmUO8snQtt/kQlcjVk3UoJU3c=
445 +github.com/libp2p/go-libp2p-protocol v0.1.0/go.mod h1:KQPHpAabB57XQxGrXCNvbL6UEXfQqUgC/1adR2Xtflk=
446 github.com/libp2p/go-libp2p-pubsub v0.0.1/go.mod h1:fYKlZBOF2yrJzYlgeEVFSbYWfbS+E8Zix6gMZ0A6WgE=
377 -github.com/libp2p/go-libp2p-pubsub v0.0.3 h1:DKVoDac2u1Dr8gX7B1HFjCrXkMxr8tfbnt0Fk1mmkgk=
378 -github.com/libp2p/go-libp2p-pubsub v0.0.3/go.mod h1:fYKlZBOF2yrJzYlgeEVFSbYWfbS+E8Zix6gMZ0A6WgE=
379 -github.com/libp2p/go-libp2p-pubsub-router v0.0.3 h1:2EF+8nueIsA9Unpj1MxdlS9+dX29kwCxSttchMMfXsI=
380 -github.com/libp2p/go-libp2p-pubsub-router v0.0.3/go.mod h1:h5z0kyMFRu2J46tt15eEuLHKEmu1MrFghsGHqTc/iII=
447 +github.com/libp2p/go-libp2p-pubsub v0.1.0 h1:SmQeMa7IUv5vadh0fYgYsafWCBA1sCy5d/68kIYqGcU=
448 +github.com/libp2p/go-libp2p-pubsub v0.1.0/go.mod h1:ZwlKzRSe1eGvSIdU5bD7+8RZN/Uzw0t1Bp9R1znpR/Q=
449 +github.com/libp2p/go-libp2p-pubsub-router v0.1.0 h1:xA5B8Sdx64tNlSRIcay2QUngtlu8LpUJClaUk/dYYrg=
450 +github.com/libp2p/go-libp2p-pubsub-router v0.1.0/go.mod h1:PnHOshBr/2I2ZxVfEsqfgCQPsVg09zo+DhSlWkOhPFM=
451 github.com/libp2p/go-libp2p-quic-transport v0.0.0-20190301030811-862195d91de1/go.mod h1:bw/6H57fSVn44ldP1Js6hnzpoiUm9YgBDKSv+ch+hWc=
382 -github.com/libp2p/go-libp2p-quic-transport v0.0.3 h1:FGEPXsjpY9K6P3iMtJQPKGl45eXickBY1+xSJ84lVVI=
383 -github.com/libp2p/go-libp2p-quic-transport v0.0.3/go.mod h1:v2oVuaFLkxlFpkFbXUty3dfEYSlNb0sCzvf8cRi1m/k=
384 -github.com/libp2p/go-libp2p-record v0.0.1 h1:zN7AS3X46qmwsw5JLxdDuI43cH5UYwovKxHPjKBYQxw=
452 +github.com/libp2p/go-libp2p-quic-transport v0.1.1 h1:MFMJzvsxIEDEVKzO89BnB/FgvMj9WI4GDGUW2ArDPUA=
453 +github.com/libp2p/go-libp2p-quic-transport v0.1.1/go.mod h1:wqG/jzhF3Pu2NrhJEvE+IE0NTHNXslOPn9JQzyCAxzU=
454 github.com/libp2p/go-libp2p-record v0.0.1/go.mod h1:grzqg263Rug/sRex85QrDOLntdFAymLDLm7lxMgU79Q=
386 -github.com/libp2p/go-libp2p-routing v0.0.1 h1:hPMAWktf9rYi3ME4MG48qE7dq1ofJxiQbfdvpNntjhc=
455 +github.com/libp2p/go-libp2p-record v0.1.0 h1:wHwBGbFzymoIl69BpgwIu0O6ta3TXGcMPvHUAcodzRc=
456 +github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q=
457 github.com/libp2p/go-libp2p-routing v0.0.1/go.mod h1:N51q3yTr4Zdr7V8Jt2JIktVU+3xBBylx1MZeVA6t1Ys=
388 -github.com/libp2p/go-libp2p-routing-helpers v0.0.2 h1:SLX7eDQE8Xo197NwNM/hM7WnH3w6fSGY9+G9HkiYwqQ=
389 -github.com/libp2p/go-libp2p-routing-helpers v0.0.2/go.mod h1:zf1ook9HoOQpfnVXrF4gGorkPrGGf1g25vgH5+4SRNU=
458 +github.com/libp2p/go-libp2p-routing v0.1.0 h1:hFnj3WR3E2tOcKaGpyzfP4gvFZ3t8JkQmbapN0Ct+oU=
459 +github.com/libp2p/go-libp2p-routing v0.1.0/go.mod h1:zfLhI1RI8RLEzmEaaPwzonRvXeeSHddONWkcTcB54nE=
460 +github.com/libp2p/go-libp2p-routing-helpers v0.1.0 h1:BaFvpyv8TyhCN7TihawTiKuzeu8/Pyw7ZnMA4IvqIN8=
461 +github.com/libp2p/go-libp2p-routing-helpers v0.1.0/go.mod h1:oUs0h39vNwYtYXnQWOTU5BaafbedSyWCCal3gqHuoOQ=
462 github.com/libp2p/go-libp2p-secio v0.0.1/go.mod h1:IdG6iQybdcYmbTzxp4J5dwtUEDTOvZrT0opIDVNPrJs=
391 -github.com/libp2p/go-libp2p-secio v0.0.3 h1:h3fPeDrej7bvvARnC2oSjAfcLZOaS4REZKgWCRQNpE4=
463 github.com/libp2p/go-libp2p-secio v0.0.3/go.mod h1:hS7HQ00MgLhRO/Wyu1bTX6ctJKhVpm+j2/S2A5UqYb0=
464 +github.com/libp2p/go-libp2p-secio v0.1.0 h1:NNP5KLxuP97sE5Bu3iuwOWyT/dKEGMN5zSLMWdB7GTQ=
465 +github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8=
466 github.com/libp2p/go-libp2p-swarm v0.0.1/go.mod h1:mh+KZxkbd3lQnveQ3j2q60BM1Cw2mX36XXQqwfPOShs=
394 -github.com/libp2p/go-libp2p-swarm v0.0.5/go.mod h1:+nkJir4feiXtWQjb/4CQHMEK8Vw+c5nVVxT8R5bs0yY=
395 -github.com/libp2p/go-libp2p-swarm v0.0.6 h1:gE0P/v2h+KEXtAi9YTw2UBOSODJ4m9VuuJ+ktc2LVUo=
467 github.com/libp2p/go-libp2p-swarm v0.0.6/go.mod h1:s5GZvzg9xXe8sbeESuFpjt8CJPTCa8mhEusweJqyFy8=
397 -github.com/libp2p/go-libp2p-tls v0.0.1 h1:UIslpmpKDbjEymuidtP2D9up00GfWrOs6eyTKf83uBA=
398 -github.com/libp2p/go-libp2p-tls v0.0.1/go.mod h1:DInSFKxm9XHHSbCdJRbcWctRYkmtPGnqiaUtgjiEa7g=
468 +github.com/libp2p/go-libp2p-swarm v0.1.0 h1:HrFk2p0awrGEgch9JXK/qp/hfjqQfgNxpLWnCiWPg5s=
469 +github.com/libp2p/go-libp2p-swarm v0.1.0/go.mod h1:wQVsCdjsuZoc730CgOvh5ox6K8evllckjebkdiY5ta4=
470 +github.com/libp2p/go-libp2p-testing v0.0.1/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E=
471 +github.com/libp2p/go-libp2p-testing v0.0.2/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E=
472 +github.com/libp2p/go-libp2p-testing v0.0.3 h1:bdij4bKaaND7tCsaXVjRfYkMpvoOeKj9AVQGJllA6jM=
473 +github.com/libp2p/go-libp2p-testing v0.0.3/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E=
474 +github.com/libp2p/go-libp2p-tls v0.1.0 h1:o4bjjAdnUjNgJoPoDd0wUaZH7K+EenlNWJpgyXB3ulA=
475 +github.com/libp2p/go-libp2p-tls v0.1.0/go.mod h1:VZdoSWQDeNpIIAFJFv+6uqTqpnIIDHcqZQSTC/A1TT0=
476 github.com/libp2p/go-libp2p-transport v0.0.0-20190226201958-e8580c8a519d/go.mod h1:lcwgOszllbhvQXul37Kv5YbSYXPoUhRB2Z+Nr3jaBmo=
477 github.com/libp2p/go-libp2p-transport v0.0.1/go.mod h1:UzbUs9X+PHOSw7S3ZmeOxfnwaQY5vGDzZmKPod3N3tk=
478 github.com/libp2p/go-libp2p-transport v0.0.4/go.mod h1:StoY3sx6IqsP6XKoabsPnHCwqKXWUMWU7Rfcsubee/A=
402 -github.com/libp2p/go-libp2p-transport v0.0.5 h1:pV6+UlRxyDpASSGD+60vMvdifSCby6JkJDfi+yUMHac=
479 github.com/libp2p/go-libp2p-transport v0.0.5/go.mod h1:StoY3sx6IqsP6XKoabsPnHCwqKXWUMWU7Rfcsubee/A=
480 github.com/libp2p/go-libp2p-transport-upgrader v0.0.1/go.mod h1:NJpUAgQab/8K6K0m+JmZCe5RUXG10UMEx4kWe9Ipj5c=
405 -github.com/libp2p/go-libp2p-transport-upgrader v0.0.3/go.mod h1:Ng1HzfMIopyYscMHNFmJqiMMcpgDlj0t+NyjVWW89ws=
406 -github.com/libp2p/go-libp2p-transport-upgrader v0.0.4 h1:uGMOd14BL1oFlfb/cGfOxPjiTKBhzWV4aMjjoCF1Z1o=
481 github.com/libp2p/go-libp2p-transport-upgrader v0.0.4/go.mod h1:RGq+tupk+oj7PzL2kn/m1w6YXxcIAYJYeI90h6BGgUc=
482 +github.com/libp2p/go-libp2p-transport-upgrader v0.1.1 h1:PZMS9lhjK9VytzMCW3tWHAXtKXmlURSc3ZdvwEcKCzw=
483 +github.com/libp2p/go-libp2p-transport-upgrader v0.1.1/go.mod h1:IEtA6or8JUbsV07qPW4r01GnTenLW4oi3lOPbUMGJJA=
484 github.com/libp2p/go-libp2p-yamux v0.1.2/go.mod h1:xUoV/RmYkg6BW/qGxA9XJyg+HzXFYkeXbnhjmnYzKp8=
409 -github.com/libp2p/go-libp2p-yamux v0.1.3 h1:HmKvv2jWJ4GEm3iP7cEKjuw0POa6rK+Hcsu1FBKzpLc=
485 github.com/libp2p/go-libp2p-yamux v0.1.3/go.mod h1:VGSQVrqkh6y4nm0189qqxMtvyBft44MOYYPpYKXiVt4=
486 +github.com/libp2p/go-libp2p-yamux v0.2.0 h1:TSPZ5cMMz/wdoYsye/wU1TE4G3LDGMoeEN0xgnCKU/I=
487 +github.com/libp2p/go-libp2p-yamux v0.2.0/go.mod h1:Db2gU+XfLpm6E4rG5uGCFX6uXA8MEXOxFcRoXUODaK8=
488 github.com/libp2p/go-maddr-filter v0.0.1/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q=
489 github.com/libp2p/go-maddr-filter v0.0.4 h1:hx8HIuuwk34KePddrp2mM5ivgPkZ09JH4AvsALRbFUs=
490 github.com/libp2p/go-maddr-filter v0.0.4/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q=
491 github.com/libp2p/go-mplex v0.0.1/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0=
492 github.com/libp2p/go-mplex v0.0.3/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0=
416 -github.com/libp2p/go-mplex v0.0.4 h1:043XJ3Zr7/Oz5cfyUaJwxUZyP02TngTpt4oq8R5UizQ=
493 github.com/libp2p/go-mplex v0.0.4/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0=
494 +github.com/libp2p/go-mplex v0.1.0 h1:/nBTy5+1yRyY82YaO6HXQRnO5IAGsXTjEJaR3LdTPc0=
495 +github.com/libp2p/go-mplex v0.1.0/go.mod h1:SXgmdki2kwCUlCCbfGLEgHjC4pFqhTp0ZoV6aiKgxDU=
496 github.com/libp2p/go-msgio v0.0.1/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ=
497 github.com/libp2p/go-msgio v0.0.2 h1:ivPvEKHxmVkTClHzg6RXTYHqaJQ0V9cDbq+6lKb3UV0=
498 github.com/libp2p/go-msgio v0.0.2/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ=
@@ -426,19 +504,24 @@ github.com/libp2p/go-reuseport-transport v0.0.1/go.mod h1:YkbSDrvjUVDL6b8XqriyA2
504 github.com/libp2p/go-reuseport-transport v0.0.2 h1:WglMwyXyBu61CMkjCCtnmqNqnjib0GIEjMiHTwR/KN4=
505 github.com/libp2p/go-reuseport-transport v0.0.2/go.mod h1:YkbSDrvjUVDL6b8XqriyA20obEtsW9BLkuOUyQAOCbs=
506 github.com/libp2p/go-stream-muxer v0.0.0-20190218175335-a3f82916c8ad/go.mod h1:bAo8x7YkSpadMTbtTaxGVHWUQsR/l5MEaHbKaliuT14=
429 -github.com/libp2p/go-stream-muxer v0.0.1 h1:Ce6e2Pyu+b5MC1k3eeFtAax0pW4gc6MosYSLV05UeLw=
507 github.com/libp2p/go-stream-muxer v0.0.1/go.mod h1:bAo8x7YkSpadMTbtTaxGVHWUQsR/l5MEaHbKaliuT14=
431 -github.com/libp2p/go-stream-muxer-multistream v0.1.1 h1:DhHqb4nu1fQv/vQKeLAaZGmhLsUA4SF77IdYJiWE1d4=
508 +github.com/libp2p/go-stream-muxer v0.1.0 h1:3ToDXUzx8pDC6RfuOzGsUYP5roMDthbUKRdMRRhqAqY=
509 +github.com/libp2p/go-stream-muxer v0.1.0/go.mod h1:8JAVsjeRBCWwPoZeH0W1imLOcriqXJyFvB0mR4A04sQ=
510 github.com/libp2p/go-stream-muxer-multistream v0.1.1/go.mod h1:zmGdfkQ1AzOECIAcccoL8L//laqawOsO03zX8Sa+eGw=
511 +github.com/libp2p/go-stream-muxer-multistream v0.2.0 h1:714bRJ4Zy9mdhyTLJ+ZKiROmAFwUHpeRidG+q7LTQOg=
512 +github.com/libp2p/go-stream-muxer-multistream v0.2.0/go.mod h1:j9eyPol/LLRqT+GPLSxvimPhNph4sfYfMoDPd7HkzIc=
513 github.com/libp2p/go-tcp-transport v0.0.1/go.mod h1:mnjg0o0O5TmXUaUIanYPUqkW4+u6mK0en8rlpA6BBTs=
434 -github.com/libp2p/go-tcp-transport v0.0.3/go.mod h1:f11C2zvCaGDkE8aFPUKmuYZwd3pP6HI24LeLMWhJnkQ=
435 -github.com/libp2p/go-tcp-transport v0.0.4 h1:2iRu994wCT/iEz62F+c60FUoSkijNEQ0q2Itc+79XlQ=
514 github.com/libp2p/go-tcp-transport v0.0.4/go.mod h1:+E8HvC8ezEVOxIo3V5vCK9l1y/19K427vCzQ+xHKH/o=
515 +github.com/libp2p/go-tcp-transport v0.1.0 h1:IGhowvEqyMFknOar4FWCKSWE0zL36UFKQtiRQD60/8o=
516 +github.com/libp2p/go-tcp-transport v0.1.0/go.mod h1:oJ8I5VXryj493DEJ7OsBieu8fcg2nHGctwtInJVpipc=
517 +github.com/libp2p/go-testutil v0.0.1 h1:Xg+O0G2HIMfHqBOBDcMS1iSZJ3GEcId4qOxCQvsGZHk=
518 github.com/libp2p/go-testutil v0.0.1/go.mod h1:iAcJc/DKJQanJ5ws2V+u5ywdL2n12X1WbbEG+Jjy69I=
519 +github.com/libp2p/go-testutil v0.1.0 h1:4QhjaWGO89udplblLVpgGDOQjzFlRavZOjuEnz2rLMc=
520 +github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjVe/gLzZ2Ehc=
521 github.com/libp2p/go-ws-transport v0.0.1/go.mod h1:p3bKjDWHEgtuKKj+2OdPYs5dAPIjtpQGHF2tJfGz7Ww=
439 -github.com/libp2p/go-ws-transport v0.0.3/go.mod h1:iU0kzfMcO4tBVIk3z+7srp1YG/RFLWTSuO4enpivw8g=
440 -github.com/libp2p/go-ws-transport v0.0.4 h1:3wt9ed0gIUrne627XHvPMTwG4/AUpsLDy4TGQi2EyQ0=
441 -github.com/libp2p/go-ws-transport v0.0.4/go.mod h1:X9wfEcm2LAJYMox9x2VHAMHAZZSQMFC9mIa/UF6OuZk=
522 +github.com/libp2p/go-ws-transport v0.0.5/go.mod h1:Qbl4BxPfXXhhd/o0wcrgoaItHqA9tnZjoFZnxykuaXU=
523 +github.com/libp2p/go-ws-transport v0.1.0 h1:F+0OvvdmPTDsVc4AjPHjV7L7Pk1B7D5QwtDcKE2oag4=
524 +github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo=
525 github.com/libp2p/go-yamux v1.2.1/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow=
526 github.com/libp2p/go-yamux v1.2.2/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow=
527 github.com/libp2p/go-yamux v1.2.3 h1:xX8A36vpXb59frIzWFdEgptLMsOANMFq2K7fPRlunYI=
@@ -446,19 +529,21 @@ github.com/libp2p/go-yamux v1.2.3/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZ
529 github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
530 github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f/go.mod h1:JpH9J1c9oX6otFSgdUHwUBUizmKlrMjxWnIAjff4m04=
531 github.com/lucas-clemente/quic-go v0.10.0/go.mod h1:wuD+2XqEx8G9jtwx5ou2BEYBsE+whgQmlj0Vz/77PrY=
449 -github.com/lucas-clemente/quic-go v0.11.1 h1:zasajC848Dqq/+WqfqBCkmPw+YHNe1MBts/z7y7nXf4=
450 -github.com/lucas-clemente/quic-go v0.11.1/go.mod h1:PpMmPfPKO9nKJ/psF49ESTAGQSdfXxlg1otPbEB2nOw=
532 +github.com/lucas-clemente/quic-go v0.11.2 h1:Mop0ac3zALaBR3wGs6j8OYe/tcFvFsxTUFMkE/7yUOI=
533 +github.com/lucas-clemente/quic-go v0.11.2/go.mod h1:PpMmPfPKO9nKJ/psF49ESTAGQSdfXxlg1otPbEB2nOw=
534 github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced/go.mod h1:NCcRLrOTZbzhZvixZLlERbJtDtYsmMw8Jc4vS8Z0g58=
535 +github.com/magiconair/properties v1.7.6 h1:U+1DqNen04MdEPgFiIwdOUiqZ8qPa37xgogX/sd3+54=
536 github.com/magiconair/properties v1.7.6/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
537 github.com/marten-seemann/qtls v0.2.3 h1:0yWJ43C62LsZt08vuQJDK1uC1czUc3FJeCLPoNAI4vA=
538 github.com/marten-seemann/qtls v0.2.3/go.mod h1:xzjG7avBwGGbdZ8dTGxlBnLArsVKLvwmjgmPuiQEcYk=
539 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
456 -github.com/mattn/go-colorable v0.1.1 h1:G1f5SKeVxmagw/IyvzvtZE4Gybcc4Tr1tf7I8z0XgOg=
540 github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
541 +github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU=
542 +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
543 github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
544 github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
460 -github.com/mattn/go-isatty v0.0.7 h1:UvyT9uN+3r7yLEYSlJsbQGdsaB/a0DlgWP3pql6iwOc=
461 -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
545 +github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE=
546 +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
547 github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y=
548 github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
549 github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
@@ -472,15 +557,18 @@ github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N
557 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g=
558 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
559 github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
475 -github.com/minio/sha256-simd v0.0.0-20190328051042-05b4dd3047e5 h1:l16XLUUJ34wIz+RIvLhSwGvLvKyy+W598b135bJN6mg=
560 github.com/minio/sha256-simd v0.0.0-20190328051042-05b4dd3047e5/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
561 +github.com/minio/sha256-simd v0.1.0 h1:U41/2erhAKcmSI14xh/ZTUdBPOzDOIfS93ibzUSl8KM=
562 +github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
563 github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
564 github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
565 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
566 github.com/mitchellh/go-ps v0.0.0-20170309133038-4fdf99ab2936/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk=
567 +github.com/mitchellh/mapstructure v0.0.0-20180220230111-00c29f56e238 h1:+MZW2uvHgN8kYvksEN3f7eFL2wpzk0GxmlFsMybWc7E=
568 github.com/mitchellh/mapstructure v0.0.0-20180220230111-00c29f56e238/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
569 github.com/mozilla/tls-observatory v0.0.0-20180409132520-8791a200eb40/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
570 github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
571 +github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
572 github.com/mr-tron/base58 v1.1.2 h1:ZEw4I2EgPKDJ2iEw0cNmLB3ROrEmkOtXIkaG7wZg+78=
573 github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
574 github.com/multiformats/go-base32 v0.0.3 h1:tw5+NhuwaOjJCC5Pp82QuXbrmLzWg7uxlMFp8Nq/kkI=
@@ -492,39 +580,44 @@ github.com/multiformats/go-multiaddr v0.0.4/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lg
580 github.com/multiformats/go-multiaddr-dns v0.0.1/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q=
581 github.com/multiformats/go-multiaddr-dns v0.0.2 h1:/Bbsgsy3R6e3jf2qBahzNHzww6usYaZ0NhNH3sqdFS8=
582 github.com/multiformats/go-multiaddr-dns v0.0.2/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q=
583 +github.com/multiformats/go-multiaddr-fmt v0.0.1 h1:5YjeOIzbX8OTKVaN72aOzGIYW7PnrZrnkDyOfAWRSMA=
584 +github.com/multiformats/go-multiaddr-fmt v0.0.1/go.mod h1:aBYjqL4T/7j4Qx+R73XSv/8JsgnRFlf0w2KGLCmXl3Q=
585 github.com/multiformats/go-multiaddr-net v0.0.1 h1:76O59E3FavvHqNg7jvzWzsPSW5JSi/ek0E4eiDVbg9g=
586 github.com/multiformats/go-multiaddr-net v0.0.1/go.mod h1:nw6HSxNmCIQH27XPGBuX+d1tnvM7ihcFwHMSstNAVUU=
587 github.com/multiformats/go-multibase v0.0.1 h1:PN9/v21eLywrFWdFNsFKaU04kLJzuYzmrJR+ubhT9qA=
588 github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs=
499 -github.com/multiformats/go-multicodec v0.1.6 h1:4u6lcjbE4VVVoigU4QJSSVYsGVP4j2jtDkR8lPwOrLE=
500 -github.com/multiformats/go-multicodec v0.1.6/go.mod h1:lliaRHbcG8q33yf4Ot9BGD7JqR/Za9HE7HTyVyKwrUQ=
589 github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U=
590 github.com/multiformats/go-multihash v0.0.5 h1:1wxmCvTXAifAepIMyF39vZinRw5sbqjPs/UIi93+uik=
591 github.com/multiformats/go-multihash v0.0.5/go.mod h1:lt/HCbqlQwlPBz7lv0sQCdtfcMtlJvakRUn/0Ual8po=
592 github.com/multiformats/go-multistream v0.0.1/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg=
505 -github.com/multiformats/go-multistream v0.0.4 h1:rNgWgFyzRSTI9L+xISrz7kN5MdNXoEcoIeeCH05wLKA=
593 github.com/multiformats/go-multistream v0.0.4/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg=
594 +github.com/multiformats/go-multistream v0.1.0 h1:UpO6jrsjqs46mqAK3n6wKRYFhugss9ArzbyUzU+4wkQ=
595 +github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg=
596 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
597 github.com/nbutton23/zxcvbn-go v0.0.0-20160627004424-a22cb81b2ecd/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
598 +github.com/nbutton23/zxcvbn-go v0.0.0-20171102151520-eafdab6b0663 h1:Ri1EhipkbhWsffPJ3IPlrb4SkTOPa2PfRXp3jchBczw=
599 github.com/nbutton23/zxcvbn-go v0.0.0-20171102151520-eafdab6b0663/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
600 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
601 github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
602 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
603 github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
604 +github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
605 github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
606 github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
516 -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
607 github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
608 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
609 +github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
610 github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
611 github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
612 github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU=
613 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
614 github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
615 +github.com/pelletier/go-toml v1.1.0 h1:cmiOvKzEunMsAxyhXSzpL5Q1CRKpVv0KQsnAIcSEVYM=
616 github.com/pelletier/go-toml v1.1.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
617 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
618 github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
619 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
620 +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
621 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
622 github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 h1:bzMe+2coZJYHnhGgVlcQKuRy4FSny4ds8dLQjw5P1XE=
623 github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o=
@@ -551,27 +644,42 @@ github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
644 github.com/ryanuber/go-glob v0.0.0-20170128012129-256dc444b735/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
645 github.com/shirou/gopsutil v0.0.0-20180427012116-c95755e4bcd7/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
646 github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
647 +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM=
648 github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
649 +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc=
650 github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
651 github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
652 +github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo=
653 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
654 +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
655 github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
656 +github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa h1:E+gaaifzi2xF65PbDmuKI3PhLWY6G5opMLniFq8vmXA=
657 github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU=
658 +github.com/sourcegraph/go-diff v0.5.1 h1:gO6i5zugwzo1RVTvgvfwCOSVegNuvnNi6bAD1QCmkHs=
659 github.com/sourcegraph/go-diff v0.5.1/go.mod h1:j2dHj3m8aZgQO8lMTcTnBcXkRRRqi34cd2MNlA9u1mE=
660 +github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a h1:/eS3yfGjQKG+9kayBkj0ip1BGhq6zJ3eaVksphxAaek=
661 github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0=
662 +github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU=
663 github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc=
664 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
665 github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
666 github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
667 +github.com/spf13/afero v1.1.0 h1:bopulORc2JeYaxfHLvJa5NzxviA9PoWhpiiJkru7Ji4=
668 github.com/spf13/afero v1.1.0/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
669 +github.com/spf13/cast v1.2.0 h1:HHl1DSRbEQN2i8tJmtS6ViPyHx35+p51amrdsiTCrkg=
670 github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
671 +github.com/spf13/cobra v0.0.2 h1:NfkwRbgViGoyjBKsLI0QMDcuMnhM+SBg3T0cGfpvKDE=
672 github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
673 +github.com/spf13/jwalterweatherman v0.0.0-20180109140146-7c0cea34c8ec h1:2ZXvIUGghLpdTVHR1UfvfrzoVlZaE/yOWC5LueIHZig=
674 github.com/spf13/jwalterweatherman v0.0.0-20180109140146-7c0cea34c8ec/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
675 +github.com/spf13/pflag v1.0.1 h1:aCvUg6QPl3ibpQUxyLkrEkCHtPqYJL4x9AuhqVqFis4=
676 github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
677 +github.com/spf13/viper v1.0.2 h1:Ncr3ZIuJn322w2k1qmzXDnkLAdQMlJqBa9kfAH+irso=
678 github.com/spf13/viper v1.0.2/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=
679 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
680 github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
681 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
682 +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
683 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
684 github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
685 github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
@@ -579,11 +687,10 @@ github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e h1:
687 github.com/texttheater/golang-levenshtein v0.0.0-20180516184445-d188e65d659e/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g=
688 github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
689 github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
690 +github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436 h1:qOpVTI+BrstcjTZLm2Yz/3sOnqkzj3FQoh0g+E5s3Gc=
691 github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw=
692 github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc h1:BCPnHtcboadS0DvysUuJXZ4lWVv5Bh5i7+tbIyi+ck4=
693 github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc/go.mod h1:r45hJU7yEoA81k6MWNhpMj/kms0n14dkzkxYHoB96UM=
585 -github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11 h1:5HZfQkwe0mIfyDmc1Em5GqlNRzcdtlv4HTNmdpt7XH0=
586 -github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11/go.mod h1:Wlo/SzPmxVp6vXpGt/zaXhHH0fn4IxgqZc82aKg6bpQ=
694 github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f h1:jQa4QT2UP9WYv2nzyawpKMOCl+Z/jW7djv2/J50lj9E=
695 github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f/go.mod h1:p9UJB6dDgdPgMJZs7UjUOdulKyRr9fqkS+6JKAInPy8=
696 github.com/whyrusleeping/go-ctrlnet v0.0.0-20180313164037-f564fbbdaa95/go.mod h1:SJqKCCPXRfBFCwXjfNT/skfsceF7+MBFLI2OrvuRA7g=
@@ -593,11 +700,8 @@ github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc h1:9lDbC6
700 github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM=
701 github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f h1:M/lL30eFZTKnomXY6huvM6G0+gVquFNf6mxghaWlFUg=
702 github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f/go.mod h1:cZNvX9cFybI01GriPRMXDtczuvUhgbcYr9iCGaNlRv8=
596 -github.com/whyrusleeping/go-smux-multiplex v0.1.0/go.mod h1:OXL5hggHNZSsadXDlBJDD4eD3IQYEB3Yu6xpovd6pPw=
703 github.com/whyrusleeping/go-smux-multiplex v3.0.16+incompatible/go.mod h1:34LEDbeKFZInPUrAG+bjuJmUXONGdEFW7XL0SpTY1y4=
598 -github.com/whyrusleeping/go-smux-multistream v0.1.0/go.mod h1:/usW3LIBirW4h9ko1PnoF7tExBnbxPBszG0n4wylJr8=
704 github.com/whyrusleeping/go-smux-multistream v2.0.2+incompatible/go.mod h1:dRWHHvc4HDQSHh9gbKEBbUZ+f2Q8iZTPG3UOGYODxSQ=
600 -github.com/whyrusleeping/go-smux-yamux v0.1.1/go.mod h1:Yw+ayOEKERDHXLJ4GiE5AnBmldJW4QRLDzGFC9do8G0=
705 github.com/whyrusleeping/go-smux-yamux v2.0.8+incompatible/go.mod h1:6qHUzBXUbB9MXmw3AUdB52L8sEb/hScCqOdW2kj/wuI=
706 github.com/whyrusleeping/go-smux-yamux v2.0.9+incompatible/go.mod h1:6qHUzBXUbB9MXmw3AUdB52L8sEb/hScCqOdW2kj/wuI=
707 github.com/whyrusleeping/go-sysinfo v0.0.0-20190219211824-4a357d4b90b1 h1:ctS9Anw/KozviCCtK6VWMz5kPL9nbQzbQY4yfqlIV4M=
@@ -613,7 +717,6 @@ github.com/whyrusleeping/tar-utils v0.0.0-20180509141711-8c6c8ba81d5c/go.mod h1:
717 github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee h1:lYbXeSvJi5zk5GLKVuid9TVjS9a0OmLIDKTfoZBL6Ow=
718 github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee/go.mod h1:m2aV4LZI4Aez7dP5PMyVKEHhUyEJ/RjmPEDOpDvudHg=
719 github.com/whyrusleeping/yamux v1.1.5/go.mod h1:E8LnQQ8HKx5KD29HZFUwM1PxCOdPRzGwur1mcYhXcD8=
616 -github.com/whyrusleeping/yamux v1.2.0/go.mod h1:Cgw3gpb4DrDZ1FrP/5pxg/cpiY54Gr5uCXwUylwi2GE=
720 go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg=
721 go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
722 go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
@@ -622,6 +725,7 @@ go.uber.org/dig v1.7.0 h1:E5/L92iQTNJTjfgJF2KgU+/JpMaiuvK2DHLBj0+kSZk=
725 go.uber.org/dig v1.7.0/go.mod h1:z+dSd2TP9Usi48jL8M3v63iSBVkiwtVyMKxMZYYauPg=
726 go.uber.org/fx v1.9.0 h1:7OAz8ucp35AU8eydejpYG7QrbE8rLKzGhHbZlJi5LYY=
727 go.uber.org/fx v1.9.0/go.mod h1:mFdUyAUuJ3w4jAckiKSKbldsxy1ojpAMJ+dVZg5Y0Aw=
728 +go.uber.org/goleak v0.10.0 h1:G3eWbSNIskeRqtsN/1uI5B+eP73y3JUuBsv9AZjehb4=
729 go.uber.org/goleak v0.10.0/go.mod h1:VCZuO8V8mFPlL0F5J5GK1rtHV3DrFcQ1R8ryq7FK0aI=
730 go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
731 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
@@ -644,7 +748,6 @@ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTk
748 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
749 golang.org/x/net v0.0.0-20170915142106-8351a756f30f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
750 golang.org/x/net v0.0.0-20180524181706-dfa909b99c79/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
647 -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
751 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
752 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
753 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -654,18 +757,17 @@ golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73r
757 golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
758 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
759 golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
657 -golang.org/x/net v0.0.0-20190310074541-c10a0554eabf/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
760 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
761 golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
762 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
661 -golang.org/x/net v0.0.0-20190522135303-fa69b94a3b58 h1:AZ8FNE2w7DVDFDK6u/iC9/Mqh73UupjaqSd/2qMoECQ=
662 -golang.org/x/net v0.0.0-20190522135303-fa69b94a3b58/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
763 +golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco=
764 +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
765 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
766 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
767 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
768 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
769 +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI=
770 golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
668 -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
771 golang.org/x/sys v0.0.0-20171026204733-164713f0dfce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
772 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
773 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -677,29 +779,28 @@ golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5h
779 golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
780 golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
781 golang.org/x/sys v0.0.0-20190302025703-b6889370fb10/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
680 -golang.org/x/sys v0.0.0-20190310054646-10058d7d4faa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
782 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
783 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
683 -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5 h1:f005F/Jl5JLP036x7QIvUVhNTqxvSYwFIiyOh2q12iU=
684 -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
784 +golang.org/x/sys v0.0.0-20190524122548-abf6ff778158/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
785 +golang.org/x/sys v0.0.0-20190524152521-dbbf3f1254d4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
786 +golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09 h1:IlD35wZE03o2qJy2o37WIskL33b7PT6cHdGnE8bieZs=
787 +golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
788 golang.org/x/text v0.0.0-20170915090833-1cbadb444a80/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
789 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
687 -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
790 golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
791 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
792 golang.org/x/tools v0.0.0-20170915040203-e531a2a1c15f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
793 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
794 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
795 golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
694 -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
796 golang.org/x/tools v0.0.0-20181117154741-2ddaf7f79a09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
797 golang.org/x/tools v0.0.0-20181205014116-22934f0fdb62/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
798 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
799 golang.org/x/tools v0.0.0-20190121143147-24cd39ecf745/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
800 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
801 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
802 +golang.org/x/tools v0.0.0-20190420000508-685fecacd0a0 h1:pa1CyBALPFjblgkNQp7T7gEcFcG/GOG5Ck8IcnSVWGs=
803 golang.org/x/tools v0.0.0-20190420000508-685fecacd0a0/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
702 -golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
804 golang.org/x/xerrors v0.0.0-20190212162355-a5947ffaace3/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
805 golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522 h1:bhOzK9QyoD0ogCnFro1m2mz41+Ib0oOhfJnBp5MR4K4=
806 golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -712,20 +813,30 @@ google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZi
813 gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
814 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
815 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
816 +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
817 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
818 gopkg.in/cheggaaa/pb.v1 v1.0.28 h1:n1tBJnnK2r7g9OW2btFH91V92STTUevLXYFb8gy9EMk=
819 gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
820 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
821 +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
822 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
823 gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
824 +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
825 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
826 gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
827 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
828 +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
829 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
830 +gotest.tools v2.1.0+incompatible h1:5USw7CrJBYKqjg9R7QlA6jzqZKEAtvW82aNmsxxGPxw=
831 gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
832 +gotest.tools/gotestsum v0.3.4 h1:LdVJDg3RHrci4MbupUgSkwPCikz4kTzDHWtUahDAleY=
833 gotest.tools/gotestsum v0.3.4/go.mod h1:Mnf3e5FUzXbkCfynWBGOwLssY7gTQgCHObK9tMpAriY=
834 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
835 +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I=
836 mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
837 +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo=
838 mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
839 +mvdan.cc/unparam v0.0.0-20190124213536-fbb59629db34 h1:B1LAOfRqg2QUyCdzfjf46quTSYUTAK5OCwbh6pljHbM=
840 mvdan.cc/unparam v0.0.0-20190124213536-fbb59629db34/go.mod h1:H6SUd1XjIs+qQCyskXg5OFSrilMRUkD8ePJpHKDPaeY=
841 +sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4 h1:JPJh2pk3+X4lXAkZIk2RuE/7/FoK9maXw+TNPJhVS/c=
842 sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=
keystore/keystore.go
+1 -1
@@ -8,7 +8,7 @@ import (
8 "strings"
9
10 logging "github.com/ipfs/go-log"
11 - ci "github.com/libp2p/go-libp2p-crypto"
11 + ci "github.com/libp2p/go-libp2p-core/crypto"
12 )
13
14 var log = logging.Logger("keystore")
keystore/keystore_test.go
+1 -1
@@ -9,7 +9,7 @@ import (
9 "sort"
10 "testing"
11
12 - ci "github.com/libp2p/go-libp2p-crypto"
12 + ci "github.com/libp2p/go-libp2p-core/crypto"
13 )
14
15 type rr struct{}
keystore/memkeystore.go
+1 -1
@@ -1,6 +1,6 @@
1 package keystore
2
3 -import ci "github.com/libp2p/go-libp2p-crypto"
3 +import ci "github.com/libp2p/go-libp2p-core/crypto"
4
5 // MemKeystore is an in memory keystore implementation that is not persisted to
6 // any backing storage.
namesys/interface.go
+1 -1
@@ -37,7 +37,7 @@ import (
37
38 path "github.com/ipfs/go-path"
39 opts "github.com/ipfs/interface-go-ipfs-core/options/namesys"
40 - ci "github.com/libp2p/go-libp2p-crypto"
40 + ci "github.com/libp2p/go-libp2p-core/crypto"
41 )
42
43 // ErrResolveFailed signals an error when attempting to resolve.
namesys/ipns_resolver_validation_test.go
+8 -9
@@ -13,14 +13,13 @@ import (
13 ipns "github.com/ipfs/go-ipns"
14 path "github.com/ipfs/go-path"
15 opts "github.com/ipfs/interface-go-ipfs-core/options/namesys"
16 - ci "github.com/libp2p/go-libp2p-crypto"
17 - peer "github.com/libp2p/go-libp2p-peer"
18 - pstore "github.com/libp2p/go-libp2p-peerstore"
16 + ci "github.com/libp2p/go-libp2p-core/crypto"
17 + peer "github.com/libp2p/go-libp2p-core/peer"
18 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
19 + routing "github.com/libp2p/go-libp2p-core/routing"
20 pstoremem "github.com/libp2p/go-libp2p-peerstore/pstoremem"
21 record "github.com/libp2p/go-libp2p-record"
21 - routing "github.com/libp2p/go-libp2p-routing"
22 - ropts "github.com/libp2p/go-libp2p-routing/options"
23 - testutil "github.com/libp2p/go-testutil"
22 + testutil "github.com/libp2p/go-libp2p-testing/net"
23 )
24
25 func TestResolverValidation(t *testing.T) {
@@ -168,11 +167,11 @@ func newMockValueStore(id testutil.Identity, dstore ds.Datastore, kbook pstore.K
167 }
168 }
169
171 -func (m *mockValueStore) GetValue(ctx context.Context, k string, opts ...ropts.Option) ([]byte, error) {
170 +func (m *mockValueStore) GetValue(ctx context.Context, k string, opts ...routing.Option) ([]byte, error) {
171 return m.r.GetValue(ctx, k, opts...)
172 }
173
175 -func (m *mockValueStore) SearchValue(ctx context.Context, k string, opts ...ropts.Option) (<-chan []byte, error) {
174 +func (m *mockValueStore) SearchValue(ctx context.Context, k string, opts ...routing.Option) (<-chan []byte, error) {
175 return m.r.SearchValue(ctx, k, opts...)
176 }
177
@@ -196,6 +195,6 @@ func (m *mockValueStore) GetPublicKey(ctx context.Context, p peer.ID) (ci.PubKey
195 return pk, m.kbook.AddPubKey(p, pk)
196 }
197
199 -func (m *mockValueStore) PutValue(ctx context.Context, k string, d []byte, opts ...ropts.Option) error {
198 +func (m *mockValueStore) PutValue(ctx context.Context, k string, d []byte, opts ...routing.Option) error {
199 return m.r.PutValue(ctx, k, d, opts...)
200 }
namesys/namesys.go
+3 -3
@@ -10,9 +10,9 @@ import (
10 path "github.com/ipfs/go-path"
11 opts "github.com/ipfs/interface-go-ipfs-core/options/namesys"
12 isd "github.com/jbenet/go-is-domain"
13 - ci "github.com/libp2p/go-libp2p-crypto"
14 - peer "github.com/libp2p/go-libp2p-peer"
15 - routing "github.com/libp2p/go-libp2p-routing"
13 + ci "github.com/libp2p/go-libp2p-core/crypto"
14 + peer "github.com/libp2p/go-libp2p-core/peer"
15 + routing "github.com/libp2p/go-libp2p-core/routing"
16 mh "github.com/multiformats/go-multihash"
17 )
18
namesys/namesys_test.go
+2 -2
@@ -12,8 +12,8 @@ import (
12 path "github.com/ipfs/go-path"
13 "github.com/ipfs/go-unixfs"
14 opts "github.com/ipfs/interface-go-ipfs-core/options/namesys"
15 - ci "github.com/libp2p/go-libp2p-crypto"
16 - peer "github.com/libp2p/go-libp2p-peer"
15 + ci "github.com/libp2p/go-libp2p-core/crypto"
16 + peer "github.com/libp2p/go-libp2p-core/peer"
17 pstoremem "github.com/libp2p/go-libp2p-peerstore/pstoremem"
18 record "github.com/libp2p/go-libp2p-record"
19 )
namesys/publisher.go
+3 -3
@@ -15,9 +15,9 @@ import (
15 pb "github.com/ipfs/go-ipns/pb"
16 path "github.com/ipfs/go-path"
17 ft "github.com/ipfs/go-unixfs"
18 - ci "github.com/libp2p/go-libp2p-crypto"
19 - peer "github.com/libp2p/go-libp2p-peer"
20 - routing "github.com/libp2p/go-libp2p-routing"
18 + ci "github.com/libp2p/go-libp2p-core/crypto"
19 + peer "github.com/libp2p/go-libp2p-core/peer"
20 + routing "github.com/libp2p/go-libp2p-core/routing"
21 base32 "github.com/whyrusleeping/base32"
22 )
23
namesys/publisher_test.go
+3 -3
@@ -11,9 +11,9 @@ import (
11 dshelp "github.com/ipfs/go-ipfs-ds-help"
12 mockrouting "github.com/ipfs/go-ipfs-routing/mock"
13 ipns "github.com/ipfs/go-ipns"
14 - ci "github.com/libp2p/go-libp2p-crypto"
15 - peer "github.com/libp2p/go-libp2p-peer"
16 - testutil "github.com/libp2p/go-testutil"
14 + ci "github.com/libp2p/go-libp2p-core/crypto"
15 + peer "github.com/libp2p/go-libp2p-core/peer"
16 + testutil "github.com/libp2p/go-libp2p-testing/net"
17 ma "github.com/multiformats/go-multiaddr"
18 )
19
namesys/republisher/repub.go
+2 -2
@@ -15,8 +15,8 @@ import (
15 logging "github.com/ipfs/go-log"
16 goprocess "github.com/jbenet/goprocess"
17 gpctx "github.com/jbenet/goprocess/context"
18 - ic "github.com/libp2p/go-libp2p-crypto"
19 - peer "github.com/libp2p/go-libp2p-peer"
18 + ic "github.com/libp2p/go-libp2p-core/crypto"
19 + peer "github.com/libp2p/go-libp2p-core/peer"
20 )
21
22 var errNoEntry = errors.New("no previous entry")
namesys/republisher/repub_test.go
+2 -2
@@ -14,7 +14,7 @@ import (
14 path "github.com/ipfs/go-path"
15
16 goprocess "github.com/jbenet/goprocess"
17 - pstore "github.com/libp2p/go-libp2p-peerstore"
17 + peer "github.com/libp2p/go-libp2p-core/peer"
18 mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
19 )
20
@@ -47,7 +47,7 @@ func TestRepublish(t *testing.T) {
47 }
48
49 bsinf := bootstrap.BootstrapConfigWithPeers(
50 - []pstore.PeerInfo{
50 + []peer.AddrInfo{
51 nodes[0].Peerstore.PeerInfo(nodes[0].Identity),
52 },
53 )
namesys/resolve_test.go
+7 -5
@@ -11,8 +11,10 @@ import (
11 mockrouting "github.com/ipfs/go-ipfs-routing/mock"
12 ipns "github.com/ipfs/go-ipns"
13 path "github.com/ipfs/go-path"
14 - peer "github.com/libp2p/go-libp2p-peer"
15 - testutil "github.com/libp2p/go-testutil"
14 + ci "github.com/libp2p/go-libp2p-core/crypto"
15 + peer "github.com/libp2p/go-libp2p-core/peer"
16 + test "github.com/libp2p/go-libp2p-core/test"
17 + testutil "github.com/libp2p/go-libp2p-testing/net"
18 )
19
20 func TestRoutingResolve(t *testing.T) {
@@ -24,7 +26,7 @@ func TestRoutingResolve(t *testing.T) {
26 resolver := NewIpnsResolver(d)
27 publisher := NewIpnsPublisher(d, dstore)
28
27 - privk, pubk, err := testutil.RandTestKeyPair(512)
29 + privk, pubk, err := test.RandTestKeyPair(ci.RSA, 512)
30 if err != nil {
31 t.Fatal(err)
32 }
@@ -57,7 +59,7 @@ func TestPrexistingExpiredRecord(t *testing.T) {
59 resolver := NewIpnsResolver(d)
60 publisher := NewIpnsPublisher(d, dstore)
61
60 - privk, pubk, err := testutil.RandTestKeyPair(512)
62 + privk, pubk, err := test.RandTestKeyPair(ci.RSA, 512)
63 if err != nil {
64 t.Fatal(err)
65 }
@@ -99,7 +101,7 @@ func TestPrexistingRecord(t *testing.T) {
101 resolver := NewIpnsResolver(d)
102 publisher := NewIpnsPublisher(d, dstore)
103
102 - privk, pubk, err := testutil.RandTestKeyPair(512)
104 + privk, pubk, err := test.RandTestKeyPair(ci.RSA, 512)
105 if err != nil {
106 t.Fatal(err)
107 }
namesys/routing.go
+2 -2
@@ -12,9 +12,9 @@ import (
12 logging "github.com/ipfs/go-log"
13 path "github.com/ipfs/go-path"
14 opts "github.com/ipfs/interface-go-ipfs-core/options/namesys"
15 + peer "github.com/libp2p/go-libp2p-core/peer"
16 + routing "github.com/libp2p/go-libp2p-core/routing"
17 dht "github.com/libp2p/go-libp2p-kad-dht"
16 - peer "github.com/libp2p/go-libp2p-peer"
17 - routing "github.com/libp2p/go-libp2p-routing"
18 mh "github.com/multiformats/go-multihash"
19 )
20
p2p/listener.go
+3 -3
@@ -4,9 +4,9 @@ import (
4 "errors"
5 "sync"
6
7 - p2phost "github.com/libp2p/go-libp2p-host"
8 - net "github.com/libp2p/go-libp2p-net"
9 - "github.com/libp2p/go-libp2p-protocol"
7 + p2phost "github.com/libp2p/go-libp2p-core/host"
8 + net "github.com/libp2p/go-libp2p-core/network"
9 + "github.com/libp2p/go-libp2p-core/protocol"
10 ma "github.com/multiformats/go-multiaddr"
11 )
12
p2p/local.go
+3 -3
@@ -5,9 +5,9 @@ import (
5 "time"
6
7 tec "github.com/jbenet/go-temp-err-catcher"
8 - "github.com/libp2p/go-libp2p-net"
9 - "github.com/libp2p/go-libp2p-peer"
10 - "github.com/libp2p/go-libp2p-protocol"
8 + net "github.com/libp2p/go-libp2p-core/network"
9 + "github.com/libp2p/go-libp2p-core/peer"
10 + "github.com/libp2p/go-libp2p-core/protocol"
11 ma "github.com/multiformats/go-multiaddr"
12 "github.com/multiformats/go-multiaddr-net"
13 )
p2p/p2p.go
+3 -3
@@ -2,9 +2,9 @@ package p2p
2
3 import (
4 logging "github.com/ipfs/go-log"
5 - p2phost "github.com/libp2p/go-libp2p-host"
6 - peer "github.com/libp2p/go-libp2p-peer"
7 - pstore "github.com/libp2p/go-libp2p-peerstore"
5 + p2phost "github.com/libp2p/go-libp2p-core/host"
6 + peer "github.com/libp2p/go-libp2p-core/peer"
7 + pstore "github.com/libp2p/go-libp2p-core/peerstore"
8 )
9
10 var log = logging.Logger("p2p-mount")
p2p/remote.go
+2 -2
@@ -4,8 +4,8 @@ import (
4 "context"
5 "fmt"
6
7 - net "github.com/libp2p/go-libp2p-net"
8 - protocol "github.com/libp2p/go-libp2p-protocol"
7 + net "github.com/libp2p/go-libp2p-core/network"
8 + protocol "github.com/libp2p/go-libp2p-core/protocol"
9 ma "github.com/multiformats/go-multiaddr"
10 manet "github.com/multiformats/go-multiaddr-net"
11 )
p2p/stream.go
+4 -4
@@ -4,10 +4,10 @@ import (
4 "io"
5 "sync"
6
7 - ifconnmgr "github.com/libp2p/go-libp2p-interface-connmgr"
8 - net "github.com/libp2p/go-libp2p-net"
9 - peer "github.com/libp2p/go-libp2p-peer"
10 - protocol "github.com/libp2p/go-libp2p-protocol"
7 + ifconnmgr "github.com/libp2p/go-libp2p-core/connmgr"
8 + net "github.com/libp2p/go-libp2p-core/network"
9 + peer "github.com/libp2p/go-libp2p-core/peer"
10 + protocol "github.com/libp2p/go-libp2p-core/protocol"
11 ma "github.com/multiformats/go-multiaddr"
12 manet "github.com/multiformats/go-multiaddr-net"
13 )
provider/simple/provider.go
+1 -1
@@ -9,7 +9,7 @@ import (
9 cid "github.com/ipfs/go-cid"
10 q "github.com/ipfs/go-ipfs/provider/queue"
11 logging "github.com/ipfs/go-log"
12 - routing "github.com/libp2p/go-libp2p-routing"
12 + routing "github.com/libp2p/go-libp2p-core/routing"
13 )
14
15 var logP = logging.Logger("provider.simple")
provider/simple/provider_test.go
+2 -2
@@ -10,7 +10,7 @@ import (
10 datastore "github.com/ipfs/go-datastore"
11 sync "github.com/ipfs/go-datastore/sync"
12 blocksutil "github.com/ipfs/go-ipfs-blocksutil"
13 - pstore "github.com/libp2p/go-libp2p-peerstore"
13 + peer "github.com/libp2p/go-libp2p-core/peer"
14
15 q "github.com/ipfs/go-ipfs/provider/queue"
16
@@ -28,7 +28,7 @@ func (r *mockRouting) Provide(ctx context.Context, cid cid.Cid, recursive bool)
28 return nil
29 }
30
31 -func (r *mockRouting) FindProvidersAsync(ctx context.Context, cid cid.Cid, timeout int) <-chan pstore.PeerInfo {
31 +func (r *mockRouting) FindProvidersAsync(ctx context.Context, cid cid.Cid, timeout int) <-chan peer.AddrInfo {
32 return nil
33 }
34
provider/simple/reprovide.go
+1 -1
@@ -14,7 +14,7 @@ import (
14 logging "github.com/ipfs/go-log"
15 merkledag "github.com/ipfs/go-merkledag"
16 verifcid "github.com/ipfs/go-verifcid"
17 - routing "github.com/libp2p/go-libp2p-routing"
17 + routing "github.com/libp2p/go-libp2p-core/routing"
18 )
19
20 var logR = logging.Logger("reprovider.simple")
provider/simple/reprovide_test.go
+3 -3
@@ -10,8 +10,8 @@ import (
10 dssync "github.com/ipfs/go-datastore/sync"
11 "github.com/ipfs/go-ipfs-blockstore"
12 mock "github.com/ipfs/go-ipfs-routing/mock"
13 - pstore "github.com/libp2p/go-libp2p-peerstore"
14 - "github.com/libp2p/go-testutil"
13 + peer "github.com/libp2p/go-libp2p-core/peer"
14 + testutil "github.com/libp2p/go-libp2p-testing/net"
15
16 . "github.com/ipfs/go-ipfs/provider/simple"
17 )
@@ -43,7 +43,7 @@ func TestReprovide(t *testing.T) {
43 t.Fatal(err)
44 }
45
46 - var providers []pstore.PeerInfo
46 + var providers []peer.AddrInfo
47 maxProvs := 100
48
49 provChan := clB.FindProvidersAsync(ctx, blk.Cid(), maxProvs)
test/integration/addcat_test.go
+5 -6
@@ -11,18 +11,17 @@ import (
11 "testing"
12 "time"
13
14 + files "github.com/ipfs/go-ipfs-files"
15 "github.com/ipfs/go-ipfs/core"
16 "github.com/ipfs/go-ipfs/core/bootstrap"
17 "github.com/ipfs/go-ipfs/core/coreapi"
18 mock "github.com/ipfs/go-ipfs/core/mock"
19 "github.com/ipfs/go-ipfs/thirdparty/unit"
19 -
20 - files "github.com/ipfs/go-ipfs-files"
20 logging "github.com/ipfs/go-log"
21 random "github.com/jbenet/go-random"
23 - pstore "github.com/libp2p/go-libp2p-peerstore"
22 + peer "github.com/libp2p/go-libp2p-core/peer"
23 + testutil "github.com/libp2p/go-libp2p-testing/net"
24 mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
25 - testutil "github.com/libp2p/go-testutil"
25 )
26
27 var log = logging.Logger("epictest")
@@ -138,8 +137,8 @@ func DirectAddCat(data []byte, conf testutil.LatencyConfig) error {
137 return err
138 }
139
141 - bs1 := []pstore.PeerInfo{adder.Peerstore.PeerInfo(adder.Identity)}
142 - bs2 := []pstore.PeerInfo{catter.Peerstore.PeerInfo(catter.Identity)}
140 + bs1 := []peer.AddrInfo{adder.Peerstore.PeerInfo(adder.Identity)}
141 + bs2 := []peer.AddrInfo{catter.Peerstore.PeerInfo(catter.Identity)}
142
143 if err := catter.Bootstrap(bootstrap.BootstrapConfigWithPeers(bs1)); err != nil {
144 return err
test/integration/bench_cat_test.go
+5 -6
@@ -8,16 +8,15 @@ import (
8 "math"
9 "testing"
10
11 + files "github.com/ipfs/go-ipfs-files"
12 "github.com/ipfs/go-ipfs/core"
13 "github.com/ipfs/go-ipfs/core/bootstrap"
14 "github.com/ipfs/go-ipfs/core/coreapi"
15 mock "github.com/ipfs/go-ipfs/core/mock"
16 "github.com/ipfs/go-ipfs/thirdparty/unit"
16 -
17 - files "github.com/ipfs/go-ipfs-files"
18 - pstore "github.com/libp2p/go-libp2p-peerstore"
17 + peer "github.com/libp2p/go-libp2p-core/peer"
18 + testutil "github.com/libp2p/go-libp2p-testing/net"
19 mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
20 - testutil "github.com/libp2p/go-testutil"
20 )
21
22 func BenchmarkCat1MB(b *testing.B) { benchmarkVarCat(b, unit.MB*1) }
@@ -81,8 +80,8 @@ func benchCat(b *testing.B, data []byte, conf testutil.LatencyConfig) error {
80 return err
81 }
82
84 - bs1 := []pstore.PeerInfo{adder.Peerstore.PeerInfo(adder.Identity)}
85 - bs2 := []pstore.PeerInfo{catter.Peerstore.PeerInfo(catter.Identity)}
83 + bs1 := []peer.AddrInfo{adder.Peerstore.PeerInfo(adder.Identity)}
84 + bs2 := []peer.AddrInfo{catter.Peerstore.PeerInfo(catter.Identity)}
85
86 if err := catter.Bootstrap(bootstrap.BootstrapConfigWithPeers(bs1)); err != nil {
87 return err
test/integration/bench_test.go
+1 -1
@@ -4,7 +4,7 @@ import (
4 "testing"
5
6 "github.com/ipfs/go-ipfs/thirdparty/unit"
7 - testutil "github.com/libp2p/go-testutil"
7 + testutil "github.com/libp2p/go-libp2p-testing/net"
8 )
9
10 func benchmarkAddCat(numBytes int64, conf testutil.LatencyConfig, b *testing.B) {
test/integration/three_legged_cat_test.go
+3 -3
@@ -16,9 +16,9 @@ import (
16 "github.com/ipfs/go-ipfs/thirdparty/unit"
17
18 files "github.com/ipfs/go-ipfs-files"
19 - pstore "github.com/libp2p/go-libp2p-peerstore"
19 + peer "github.com/libp2p/go-libp2p-core/peer"
20 + testutil "github.com/libp2p/go-libp2p-testing/net"
21 mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
21 - testutil "github.com/libp2p/go-testutil"
22 )
23
24 func TestThreeLeggedCatTransfer(t *testing.T) {
@@ -119,7 +119,7 @@ func RunThreeLeggedCat(data []byte, conf testutil.LatencyConfig) error {
119 }
120
121 bis := bootstrap.Peerstore.PeerInfo(bootstrap.PeerHost.ID())
122 - bcfg := bootstrap2.BootstrapConfigWithPeers([]pstore.PeerInfo{bis})
122 + bcfg := bootstrap2.BootstrapConfigWithPeers([]peer.AddrInfo{bis})
123 if err := adder.Bootstrap(bcfg); err != nil {
124 return err
125 }