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, ¬if.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, ¬if.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, ¬if.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, ¬if.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, ¬if.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, ¬if.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, ¬if.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, ¬if.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
}