From 953263b93f4e487cb9f5fe34bad0af5cc3836214 Mon Sep 17 00:00:00 2001 From: george xie Date: Wed, 17 Jun 2020 20:42:19 +0800 Subject: [PATCH 01/13] add reference id --- pb/file.proto | 19 ++++++++++++++++++- pb/node.proto | 14 +++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/pb/file.proto b/pb/file.proto index ab7ef07..fb5e3d0 100644 --- a/pb/file.proto +++ b/pb/file.proto @@ -4,10 +4,12 @@ import "util.proto"; // FileAPI provides a gRPC api to upload/download files as UnixFS objects service FileAPI { - // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs add) + // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs pin add) rpc UploadFile(stream UploadRequest) returns (PutResponse) { }; // DownloadFile allows downloading a UnixFS object (equivalent to ipfs get) rpc DownloadFile(DownloadRequest) returns (stream DownloadResponse) { }; + // RemoveFile allows removing a UnixFS object or decrease it's reference counter (equivalent to ipfs pin rm) + rpc RemoveFile(RemoveRequest) returns (RemoveResponse) { }; } @@ -17,6 +19,8 @@ message UploadRequest { Blob blob = 1; // options allows setting the optoins for this upload UploadOptions options = 2; + // optional reference ID to mark the file with, only valid in the first message of a stream + string refId = 3; } // UploadOptions allows controlling the parameters of a file upload @@ -65,3 +69,16 @@ message Blob { uint64 rangeStart = 2; uint64 rangeEnd = 3; } + +// UploadRequest is used to decrease the reference count on UnixFS objects +message RemoveRequest{ + // refIds is a map of reference IDs to hash/cid of objects to remove those refernece counts + map refIds = 1; +} + +// RemoveResponse contains the response to a remove request +message RemoveResponse{ + // The number of acturall removal operations performed. + // A missing count is because the refId to hash pair was already removed or was never added + uint64 count = 1; +} \ No newline at end of file diff --git a/pb/node.proto b/pb/node.proto index 1f2c112..d4537b9 100644 --- a/pb/node.proto +++ b/pb/node.proto @@ -208,6 +208,11 @@ message BlockstoreRequest { // the hash function to use when constructing blocks, default is sha2-256 // sent by: BS_PUT, BS_PUT_MANY string hashFunc = 7; + // reference ID to mark the blocks of this operation with + // when sent by BS_PUT, BS_PUT_MANY: only put if the id is not marked on block, otherwise noop + // when sent by BS_GET, BS_GET_MANY: only get if the id is marked on block + // when sent by BS_DELETE: only delete if the id is marked on block + string refId = 1; } // BlockstoreResponse is a response to a BlockstoreqRequest @@ -251,6 +256,8 @@ enum DAGREQTYPE { DAG_GET_LINKS = 4; // DAG_STAT is used to retrieve ipld.NodeStats information DAG_STAT = 5; + // DAG_REMOVE is the inverse of DAG_PUT + DAG_REMOVE = 6; } // Used to submit a request to Dag or DagStream RPCs @@ -274,11 +281,14 @@ message DagRequest { // sent by: DAG_PUT, DAG_NEW_NODE int64 cidVersion = 6; // the hash of the object we are processing - // sent by: DAG_GET, DAG_NEW_NODe, DAG_ADD_LINKS, DAG_GET_LINKS + // sent by: DAG_GET, DAG_NEW_NODe, DAG_ADD_LINKS, DAG_GET_LINKS, DAG_REMOVE string hash = 7; // indicates links and their names. key = name, value = link hash // sent by: DAG_NEW_NODE, DAG_ADD_LINKS map links = 8; + // optional reference ID to mark the cid/hash with + // sent by: DAG_PUT, DAG_REMOVE + string refId = 2; } // Used in response to a Dag or DagStream RPC @@ -377,6 +387,8 @@ message KeystoreResponse { message PersistRequest { // cids to persist locally repeated string cids = 1; + // optional reference ID to mark the cids with + string refId = 2; } message PersistResponse { From e86f5e717f519fcf7b9b6fe7e5fa613bf1eeaf55 Mon Sep 17 00:00:00 2001 From: george xie Date: Thu, 18 Jun 2020 11:02:12 +0800 Subject: [PATCH 02/13] add counter to dag removal --- pb/file.proto | 2 +- pb/node.proto | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pb/file.proto b/pb/file.proto index fb5e3d0..22dbb6b 100644 --- a/pb/file.proto +++ b/pb/file.proto @@ -78,7 +78,7 @@ message RemoveRequest{ // RemoveResponse contains the response to a remove request message RemoveResponse{ - // The number of acturall removal operations performed. + // The number of removal operations performed. // A missing count is because the refId to hash pair was already removed or was never added uint64 count = 1; } \ No newline at end of file diff --git a/pb/node.proto b/pb/node.proto index d4537b9..d53a777 100644 --- a/pb/node.proto +++ b/pb/node.proto @@ -308,6 +308,9 @@ message DagResponse { // maps ipld cids to a ipld.NodeStat object equivalent // sent by: DAG_STAT map nodeStats = 5; + // The number of removal operations performed. + // sent by: DAG_REMOVE + uint64 count = 6; } // IPLDStat is statistics about an individual dag node From 7c6df84aad7603382be1b56285b44a2d66366f83 Mon Sep 17 00:00:00 2001 From: george xie Date: Thu, 18 Jun 2020 20:43:50 +0800 Subject: [PATCH 03/13] update dependencies --- go.mod | 33 ++++++++-------- go.sum | 121 ++++++++++++++++++++++++++++++++------------------------- 2 files changed, 86 insertions(+), 68 deletions(-) diff --git a/go.mod b/go.mod index 35b0391..fe26ad0 100644 --- a/go.mod +++ b/go.mod @@ -3,26 +3,27 @@ module github.com/RTradeLtd/TxPB/v3 go 1.13 require ( - github.com/RTradeLtd/go-libp2p-tls v0.2.3 + github.com/RTradeLtd/go-libp2p-tls v0.2.4 github.com/gogo/protobuf v1.3.1 - github.com/golang/protobuf v1.3.5 // indirect - github.com/google/go-cmp v0.3.1 // indirect + github.com/golang/protobuf v1.4.2 // indirect github.com/ipfs/go-block-format v0.0.2 - github.com/ipfs/go-cid v0.0.5 + github.com/ipfs/go-cid v0.0.6 github.com/ipfs/go-datastore v0.4.4 // indirect github.com/ipfs/go-ipld-format v0.2.0 - github.com/ipfs/go-merkledag v0.3.1 - github.com/libp2p/go-libp2p-core v0.5.1 - github.com/multiformats/go-multiaddr v0.2.1 - github.com/multiformats/go-multiaddr-net v0.1.4 + github.com/ipfs/go-merkledag v0.3.2 + github.com/libp2p/go-libp2p-core v0.6.0 + github.com/multiformats/go-multiaddr v0.2.2 + github.com/multiformats/go-multiaddr-dns v0.2.0 // indirect + github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect + github.com/multiformats/go-multiaddr-net v0.1.5 + github.com/multiformats/go-multistream v0.1.1 // indirect github.com/pkg/errors v0.9.1 - go.uber.org/zap v1.14.1 - golang.org/x/crypto v0.0.0-20200406173513-056763e48d71 // indirect + go.uber.org/zap v1.15.0 golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect - golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e // indirect - golang.org/x/sys v0.0.0-20200409092240-59c9f1ba88fa // indirect - golang.org/x/tools v0.0.0-20200413015812-1f08ef6002a8 // indirect - google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 // indirect - google.golang.org/grpc v1.28.1 - gopkg.in/yaml.v2 v2.2.8 // indirect + golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect + golang.org/x/text v0.3.3 // indirect + golang.org/x/tools v0.0.0-20200618120828-9b4b92067d4b // indirect + google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790 // indirect + google.golang.org/grpc v1.29.1 + gopkg.in/yaml.v2 v2.3.0 // indirect ) diff --git a/go.sum b/go.sum index 5611d46..9935a54 100644 --- a/go.sum +++ b/go.sum @@ -3,8 +3,8 @@ github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOv github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= -github.com/RTradeLtd/go-libp2p-tls v0.2.3 h1:oZzA2TcJyl6jQNcrMPi14tV42Dq/8cAkCAofNUjVhnU= -github.com/RTradeLtd/go-libp2p-tls v0.2.3/go.mod h1:p6uSB3K4uk01KLyk58pBRfVZhUGXYSchPhY+O3zx2MQ= +github.com/RTradeLtd/go-libp2p-tls v0.2.4 h1:SKjLKu9b5j6Nixu0gchAWS97yV4XHaqHilq7ZFPJzjM= +github.com/RTradeLtd/go-libp2p-tls v0.2.4/go.mod h1:9CS6TsLjrFTkcTFmUIkMWpHVat+XeoLxOF11AfINwDY= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= @@ -53,14 +53,22 @@ github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5 h1:F768QJ1E9tib+q5Sc8MkdJi1RxLTbRcTf8LJV56aRls= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -91,6 +99,8 @@ github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUP github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.5 h1:o0Ix8e/ql7Zb5UVUJEUfjsWCIY8t48++9lR8qi6oiJU= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= +github.com/ipfs/go-cid v0.0.6 h1:go0y+GcDOGeJIV01FeBsta4FHngoA4Wz7KMeLkXAhMs= +github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= @@ -129,8 +139,8 @@ github.com/ipfs/go-ipld-format v0.2.0 h1:xGlJKkArkmBvowr+GMCX0FEZtkro71K1AwiKnL3 github.com/ipfs/go-ipld-format v0.2.0/go.mod h1:3l3C1uKoadTPbeNfrDi+xMInYKlx2Cvg1BuydPSdzQs= github.com/ipfs/go-log v0.0.1 h1:9XTUN/rW64BCG1YhPK9Hoy3q8nr4gOmHHBpgFdfw6Lc= github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM= -github.com/ipfs/go-merkledag v0.3.1 h1:3UqWINBEr3/N+r6OwgFXAddDP/8zpQX/8J7IGVOCqRQ= -github.com/ipfs/go-merkledag v0.3.1/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= +github.com/ipfs/go-merkledag v0.3.2 h1:MRqj40QkrWkvPswXs4EfSslhZ4RVPRbxwX11js0t1xY= +github.com/ipfs/go-merkledag v0.3.2/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= github.com/ipfs/go-peertaskqueue v0.1.0 h1:bpRbgv76eT4avutNPDFZuCPOQus6qTgurEYxfulgZW4= @@ -152,16 +162,13 @@ github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZl github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d/go.mod h1:P2viExyCEfeWGU259JnaQ34Inuec4R38JCyBx2edgD0= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b h1:wxtKgYHEncAU00muMD06dzLiahtGM1eouRNOzVV7tdQ= github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= @@ -187,10 +194,8 @@ github.com/libp2p/go-libp2p-blankhost v0.1.1/go.mod h1:pf2fvdLJPsC1FsVrNP3DUUvMz github.com/libp2p/go-libp2p-circuit v0.1.0/go.mod h1:Ahq4cY3V9VJcHcn1SBXjr78AbFkZeIRmfunbA7pmFh8= github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco= github.com/libp2p/go-libp2p-core v0.0.2/go.mod h1:9dAcntw/n46XycV4RnlBq3BpgrmyUi9LuoTNdPrbUco= -github.com/libp2p/go-libp2p-core v0.5.0 h1:FBQ1fpq2Fo/ClyjojVJ5AKXlKhvNc/B6U0O+7AN1ffE= -github.com/libp2p/go-libp2p-core v0.5.0/go.mod h1:49XGI+kc38oGVwqSBhDEwytaAxgZasHhFfQKibzTls0= -github.com/libp2p/go-libp2p-core v0.5.1 h1:6Cu7WljPQtGY2krBlMoD8L/zH3tMUsCbqNFH7cZwCoI= -github.com/libp2p/go-libp2p-core v0.5.1/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= +github.com/libp2p/go-libp2p-core v0.6.0 h1:u03qofNYTBN+yVg08PuAKylZogVf0xcTEeM8skGf+ak= +github.com/libp2p/go-libp2p-core v0.6.0/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ= github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI= github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g= @@ -231,8 +236,9 @@ github.com/libp2p/go-msgio v0.0.4 h1:agEFehY3zWJFUHK6SEMR7UYmk2z6kC3oeCM7ybLhguA github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= github.com/libp2p/go-nat v0.0.3 h1:l6fKV+p0Xa354EqQOQP+d8CivdLM4kl5GxC1hSc/UeI= github.com/libp2p/go-nat v0.0.3/go.mod h1:88nUEt0k0JD45Bk93NIwDqjlhiOwOoV36GchpcVc1yI= -github.com/libp2p/go-openssl v0.0.4 h1:d27YZvLoTyMhIN4njrkr8zMDOM4lfpHIp6A+TK9fovg= -github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.5/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.6 h1:BFqTHVDt6V60Y7xU9f89FwljvFl/CEqZYO1vlfa2DCE= +github.com/libp2p/go-openssl v0.0.6/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-reuseport v0.0.1 h1:7PhkfH73VXfPJYKQ6JwS5I/eVcoyYi9IMNGc6FWpFLw= github.com/libp2p/go-reuseport v0.0.1/go.mod h1:jn6RmB1ufnQwl0Q1f+YxAj8isJgDCQzaaxIFYDhcYEA= github.com/libp2p/go-reuseport-transport v0.0.2 h1:WglMwyXyBu61CMkjCCtnmqNqnjib0GIEjMiHTwR/KN4= @@ -247,16 +253,12 @@ github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjV github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo= github.com/libp2p/go-yamux v1.2.2 h1:s6J6o7+ajoQMjHe7BEnq+EynOj5D2EoG8CuQgL3F2vg= github.com/libp2p/go-yamux v1.2.2/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= @@ -271,30 +273,46 @@ github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVq github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/mr-tron/base58 v1.1.3 h1:v+sk57XuaCKGXpWtVBX8YJzO7hMGx4Aajh4TQbdEFdc= github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= +github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/multiformats/go-base32 v0.0.3 h1:tw5+NhuwaOjJCC5Pp82QuXbrmLzWg7uxlMFp8Nq/kkI= github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= +github.com/multiformats/go-base36 v0.1.0 h1:JR6TyF7JjGd3m6FbLU2cOxhC0Li8z8dLNGQ89tUg4F4= +github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= github.com/multiformats/go-multiaddr v0.0.1/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= github.com/multiformats/go-multiaddr v0.0.2/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= github.com/multiformats/go-multiaddr v0.0.4/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo= github.com/multiformats/go-multiaddr v0.2.1 h1:SgG/cw5vqyB5QQe5FPe2TqggU9WtrA9X4nZw7LlVqOI= github.com/multiformats/go-multiaddr v0.2.1/go.mod h1:s/Apk6IyxfvMjDafnhJgJ3/46z7tZ04iMk5wP4QMGGE= +github.com/multiformats/go-multiaddr v0.2.2 h1:XZLDTszBIJe6m0zF6ITBrEcZR73OPUhCBBS9rYAuUzI= +github.com/multiformats/go-multiaddr v0.2.2/go.mod h1:NtfXiOtHvghW9KojvtySjH5y0u0xW5UouOmQQrn6a3Y= github.com/multiformats/go-multiaddr-dns v0.0.1/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= github.com/multiformats/go-multiaddr-dns v0.0.2 h1:/Bbsgsy3R6e3jf2qBahzNHzww6usYaZ0NhNH3sqdFS8= github.com/multiformats/go-multiaddr-dns v0.0.2/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= +github.com/multiformats/go-multiaddr-dns v0.2.0 h1:YWJoIDwLePniH7OU5hBnDZV6SWuvJqJ0YtN6pLeH9zA= +github.com/multiformats/go-multiaddr-dns v0.2.0/go.mod h1:TJ5pr5bBO7Y1B18djPuRsVkduhQH2YqYSbxWJzYGdK0= github.com/multiformats/go-multiaddr-fmt v0.0.1 h1:5YjeOIzbX8OTKVaN72aOzGIYW7PnrZrnkDyOfAWRSMA= github.com/multiformats/go-multiaddr-fmt v0.0.1/go.mod h1:aBYjqL4T/7j4Qx+R73XSv/8JsgnRFlf0w2KGLCmXl3Q= +github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= +github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= github.com/multiformats/go-multiaddr-net v0.0.1/go.mod h1:nw6HSxNmCIQH27XPGBuX+d1tnvM7ihcFwHMSstNAVUU= -github.com/multiformats/go-multiaddr-net v0.1.4 h1:g6gwydsfADqFvrHoMkS0n9Ok9CG6F7ytOH/bJDkhIOY= -github.com/multiformats/go-multiaddr-net v0.1.4/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= +github.com/multiformats/go-multiaddr-net v0.1.5 h1:QoRKvu0xHN1FCFJcMQLbG/yQE2z441L5urvG3+qyz7g= +github.com/multiformats/go-multiaddr-net v0.1.5/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= github.com/multiformats/go-multibase v0.0.1 h1:PN9/v21eLywrFWdFNsFKaU04kLJzuYzmrJR+ubhT9qA= github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs= +github.com/multiformats/go-multibase v0.0.3 h1:l/B6bJDQjvQ5G52jw4QGSYeOTZoAwIO77RblWplfIqk= +github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U= github.com/multiformats/go-multihash v0.0.5/go.mod h1:lt/HCbqlQwlPBz7lv0sQCdtfcMtlJvakRUn/0Ual8po= +github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= github.com/multiformats/go-multihash v0.0.13 h1:06x+mk/zj1FoMsgNejLpy6QTvJqlSt/BhLEy87zidlc= github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= github.com/multiformats/go-multistream v0.1.0 h1:UpO6jrsjqs46mqAK3n6wKRYFhugss9ArzbyUzU+4wkQ= github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg= +github.com/multiformats/go-multistream v0.1.1 h1:JlAdpIFhBhGRLxe9W6Om0w++Gd6KMWoFPZL/dEnm9nI= +github.com/multiformats/go-multistream v0.1.1/go.mod h1:KmHZ40hzVxiaiwlj3MEbYgK9JFk2/9UktWZAF54Du38= github.com/multiformats/go-varint v0.0.2/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.5 h1:XVZwSo04Cs3j/jS0uAEPpT3JY6DzMcVLLoWOSnCxOjg= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= @@ -323,21 +341,16 @@ github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 h1:bzMe+2coZJYHnhGg github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa h1:E+gaaifzi2xF65PbDmuKI3PhLWY6G5opMLniFq8vmXA= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= -github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -354,7 +367,6 @@ github.com/whyrusleeping/mafmt v1.2.8/go.mod h1:faQJFPbLSxzD9xpA02ttW/tS9vZykNvX github.com/whyrusleeping/mdns v0.0.0-20180901202407-ef14215e6b30/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 h1:E9S12nwJwEOXe2d6gT6qxdvqMnNq+VnSsKPgm2ZZNds= github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7/go.mod h1:X2c0RVCI1eSUFI8eLcY3c0423ykwiUdxLJtkDvruhjI= -github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -364,10 +376,9 @@ go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.14.1 h1:nYDKopTbvAPq/NrUVZwT15y2lpROBiLLyoRTbXOYWOo= -go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= +go.uber.org/zap v1.15.0 h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM= +go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190225124518-7f87c0fbb88b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -377,10 +388,8 @@ golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4 h1:QmwruyY+bKbDDL0BaglrbZABEali68eoMFhTZpCjYVA= -golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200406173513-056763e48d71 h1:DOmugCavvUtnUD114C1Wh+UgTgQZ4pMLzXxi1pSt+/Y= -golang.org/x/crypto v0.0.0-20200406173513-056763e48d71/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 h1:vEg9joUBmeBcK9iSJftGNf3coIG4HqZElCPehJsfAYM= +golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -406,8 +415,8 @@ golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -415,7 +424,6 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -428,19 +436,18 @@ golang.org/x/sys v0.0.0-20190524122548-abf6ff778158/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 h1:uYVVQ9WP/Ds2ROhcaGPeIdVq0RIXVLwsHlnvJ+cT1So= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200409092240-59c9f1ba88fa h1:mQTN3ECqfsViCNBgq+A40vdwhkGykrrQlYe3mPj6BoU= -golang.org/x/sys v0.0.0-20200409092240-59c9f1ba88fa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 h1:ogLJMz+qpzav7lGMh10LMvAkM/fAoGlaiiHYiFYdm80= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181130052023-1c3d964395ce/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -451,8 +458,8 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200413015812-1f08ef6002a8 h1:1TnYi6m8UoNpEKS1wxgR8GcHPe2YDgYoDjAedVuX+Q0= -golang.org/x/tools v0.0.0-20200413015812-1f08ef6002a8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618120828-9b4b92067d4b h1:AskyZM0swk05tj5YSxmC0DOYXLxl2FgRqwi/CMDEs20= +golang.org/x/tools v0.0.0-20200618120828-9b4b92067d4b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -466,16 +473,28 @@ google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoA google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36 h1:j7CmVRD4Kec0+f8VuBAc2Ak2MFfXm5Q2/RxuJLL+76E= -google.golang.org/genproto v0.0.0-20200413115906-b5235f65be36/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790 h1:FGjyjrQGURdc98leD1P65IdQD9Zlr4McvRcqIlV6OSs= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.1 h1:C1QC6KzgSiLyBabDi87BbjaGreoRgGUF5nOyvfrAZ1k= -google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -484,8 +503,6 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d/go.mod h1:z+K8VcOYVYcSwSjGebuDL6176A1XskgbtNl64NSg+n8= -gopkg.in/src-d/go-log.v1 v1.0.1/go.mod h1:GN34hKP0g305ysm2/hctJ0Y8nWP3zxXXJ8GFabTyABE= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -493,8 +510,8 @@ gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= From ae8106365956174c156c861cec13b1cbced0eadd Mon Sep 17 00:00:00 2001 From: george xie Date: Thu, 18 Jun 2020 21:52:11 +0800 Subject: [PATCH 04/13] more updates --- go.mod | 5 +- go.sum | 312 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 314 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fe26ad0..1a865bc 100644 --- a/go.mod +++ b/go.mod @@ -8,15 +8,14 @@ require ( github.com/golang/protobuf v1.4.2 // indirect github.com/ipfs/go-block-format v0.0.2 github.com/ipfs/go-cid v0.0.6 - github.com/ipfs/go-datastore v0.4.4 // indirect github.com/ipfs/go-ipld-format v0.2.0 github.com/ipfs/go-merkledag v0.3.2 github.com/libp2p/go-libp2p-core v0.6.0 + github.com/libp2p/go-libp2p-peerstore v0.2.6 // indirect + github.com/libp2p/go-libp2p-swarm v0.2.7 // indirect github.com/multiformats/go-multiaddr v0.2.2 github.com/multiformats/go-multiaddr-dns v0.2.0 // indirect - github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect github.com/multiformats/go-multiaddr-net v0.1.5 - github.com/multiformats/go-multistream v0.1.1 // indirect github.com/pkg/errors v0.9.1 go.uber.org/zap v1.15.0 golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect diff --git a/go.sum b/go.sum index 9935a54..07e1d3d 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,28 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= +dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= +dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= +dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= +dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= +git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/RTradeLtd/go-libp2p-tls v0.2.4 h1:SKjLKu9b5j6Nixu0gchAWS97yV4XHaqHilq7ZFPJzjM= github.com/RTradeLtd/go-libp2p-tls v0.2.4/go.mod h1:9CS6TsLjrFTkcTFmUIkMWpHVat+XeoLxOF11AfINwDY= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= +github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.20.1-beta h1:Ik4hyJqN8Jfyv3S4AGBOmyouMsYE3EdYODkMbQjwPGw= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= @@ -18,35 +33,62 @@ github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVa github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= +github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018 h1:6xT9KW8zLC5IlbaIF5Q7JNieBoACT7iW0YTxQHR0in0= +github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= +github.com/dgraph-io/badger v1.6.1/go.mod h1:FRmFw3uxvcpa8zG3Rxs0th+hCLIuaQg8HlNV5bjgnuU= +github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= +github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 h1:ZgQEtGgCBiWRM39fZuwSd1LwSqqSW0hOdXCYYDX0R3I= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.4.0 h1:Rd1kQnQu0Hq3qvJppYSG0HtP+f5LPPUiDswTLiEegLg= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -62,6 +104,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -69,21 +112,36 @@ github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/gopacket v1.1.17 h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY= +github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= @@ -97,6 +155,7 @@ github.com/ipfs/go-blockservice v0.1.0/go.mod h1:hzmMScl1kXHg3M2BjTymbVPjv627N7s github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= github.com/ipfs/go-cid v0.0.5 h1:o0Ix8e/ql7Zb5UVUJEUfjsWCIY8t48++9lR8qi6oiJU= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.0.6 h1:go0y+GcDOGeJIV01FeBsta4FHngoA4Wz7KMeLkXAhMs= @@ -105,12 +164,18 @@ github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAK github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.3.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= +github.com/ipfs/go-datastore v0.4.0/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= +github.com/ipfs/go-datastore v0.4.1/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= github.com/ipfs/go-datastore v0.4.4 h1:rjvQ9+muFaJ+QZ7dN5B1MSDNQ0JVZKkkES/rMZmA8X8= github.com/ipfs/go-datastore v0.4.4/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8= +github.com/ipfs/go-ds-badger v0.2.1/go.mod h1:Tx7l3aTph3FMFrRS838dcSJh+jjA7cX9DrGVwx/NOwE= +github.com/ipfs/go-ds-badger v0.2.3/go.mod h1:pEYw0rgg3FIrywKKnL+Snr+w/LjJZVMTBRn4FS6UHUk= github.com/ipfs/go-ds-leveldb v0.0.1/go.mod h1:feO8V3kubwsEF22n0YRQCffeb79OOYIykR4L04tMOYc= +github.com/ipfs/go-ds-leveldb v0.4.1/go.mod h1:jpbku/YqBSsBc1qgME8BkWS4AxzF2cEu1Ii2r79Hh9s= +github.com/ipfs/go-ds-leveldb v0.4.2/go.mod h1:jpbku/YqBSsBc1qgME8BkWS4AxzF2cEu1Ii2r79Hh9s= github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= github.com/ipfs/go-ipfs-blockstore v0.1.0 h1:V1GZorHFUIB6YgTJQdq7mcaIpUfCM3fCyVi+MTo9O88= github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= @@ -139,6 +204,14 @@ github.com/ipfs/go-ipld-format v0.2.0 h1:xGlJKkArkmBvowr+GMCX0FEZtkro71K1AwiKnL3 github.com/ipfs/go-ipld-format v0.2.0/go.mod h1:3l3C1uKoadTPbeNfrDi+xMInYKlx2Cvg1BuydPSdzQs= github.com/ipfs/go-log v0.0.1 h1:9XTUN/rW64BCG1YhPK9Hoy3q8nr4gOmHHBpgFdfw6Lc= github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM= +github.com/ipfs/go-log v1.0.2/go.mod h1:1MNjMxe0u6xvJZgeqbJ8vdo2TKaGwZ1a0Bpza+sr2Sk= +github.com/ipfs/go-log v1.0.3/go.mod h1:OsLySYkwIbiSUR/yBTdv1qPtcE4FW3WPWk/ewz9Ru+A= +github.com/ipfs/go-log v1.0.4 h1:6nLQdX4W8P9yZZFH7mO+X/PzjN8Laozm/lMJ6esdgzY= +github.com/ipfs/go-log v1.0.4/go.mod h1:oDCg2FkjogeFOhqqb+N39l2RpTNPL6F/StPkB3kPgcs= +github.com/ipfs/go-log/v2 v2.0.2/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBWFaa9+0= +github.com/ipfs/go-log/v2 v2.0.3/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBWFaa9+0= +github.com/ipfs/go-log/v2 v2.0.5 h1:fL4YI+1g5V/b1Yxr1qAiXTMg1H8z9vx/VmJxBuQMHvU= +github.com/ipfs/go-log/v2 v2.0.5/go.mod h1:eZs4Xt4ZUJQFM3DlanGhy7TkwwawCZcSByscwkWG+dw= github.com/ipfs/go-merkledag v0.3.2 h1:MRqj40QkrWkvPswXs4EfSslhZ4RVPRbxwX11js0t1xY= github.com/ipfs/go-merkledag v0.3.2/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= @@ -156,33 +229,50 @@ github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= github.com/jbenet/go-temp-err-catcher v0.0.0-20150120210811-aac704a3f4f2 h1:vhC1OXXiT9R2pczegwz6moDvuRpggaroAXhPIseh57A= github.com/jbenet/go-temp-err-catcher v0.0.0-20150120210811-aac704a3f4f2/go.mod h1:8GXXJV31xl8whumTzdZsTt3RnUIiPqzkyf7mxToRCMs= +github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= +github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= github.com/jbenet/goprocess v0.0.0-20160826012719-b497e2f366b8/go.mod h1:Ly/wlsjFq/qrU3Rar62tu1gASgGw6chQbSh/XgIIXCY= github.com/jbenet/goprocess v0.1.3 h1:YKyIEECS/XvcfHtBzxtjBBbWK+MbvA6dG8ASiqwvr10= github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= +github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d/go.mod h1:P2viExyCEfeWGU259JnaQ34Inuec4R38JCyBx2edgD0= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b h1:wxtKgYHEncAU00muMD06dzLiahtGM1eouRNOzVV7tdQ= github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/libp2p/go-addr-util v0.0.1 h1:TpTQm9cXVRVSKsYbgQ7GKc3KbbHVTnbostgGaDEP+88= github.com/libp2p/go-addr-util v0.0.1/go.mod h1:4ac6O7n9rIAKB1dnd+s8IbbMXkt+oBpzX4/+RACcnlQ= +github.com/libp2p/go-addr-util v0.0.2 h1:7cWK5cdA5x72jX0g8iLrQWm5TRJZ6CzGdPEhWj7plWU= +github.com/libp2p/go-addr-util v0.0.2/go.mod h1:Ecd6Fb3yIuLzq4bD7VcywcVSBtefcAwnUISBM3WG15E= github.com/libp2p/go-buffer-pool v0.0.1/go.mod h1:xtyIz9PMobb13WaxR6Zo1Pd1zXJKYg0a8KiIvDp3TzQ= github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/libp2p/go-conn-security-multistream v0.1.0 h1:aqGmto+ttL/uJgX0JtQI0tD21CIEy5eYd1Hlp0juHY0= github.com/libp2p/go-conn-security-multistream v0.1.0/go.mod h1:aw6eD7LOsHEX7+2hJkDxw1MteijaVcI+/eP2/x3J1xc= +github.com/libp2p/go-conn-security-multistream v0.2.0 h1:uNiDjS58vrvJTg9jO6bySd1rMKejieG7v45ekqHbZ1M= +github.com/libp2p/go-conn-security-multistream v0.2.0/go.mod h1:hZN4MjlNetKD3Rq5Jb/P5ohUnFLNzEAR4DLSzpn2QLU= +github.com/libp2p/go-eventbus v0.1.0 h1:mlawomSAjjkk97QnYiEmHsLu7E136+2oCWSHRUvMfzQ= +github.com/libp2p/go-eventbus v0.1.0/go.mod h1:vROgu5cs5T7cv7POWlWxBaVLxfSegC5UGQf8A2eEmx4= github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8= github.com/libp2p/go-flow-metrics v0.0.3 h1:8tAs/hSdNvUiLgtlSy3mxwxWP4I9y/jlkPFT7epKdeM= github.com/libp2p/go-flow-metrics v0.0.3/go.mod h1:HeoSNUrOJVK1jEpDqVEiUOIXqhbnS27omG0uWU5slZs= @@ -191,9 +281,25 @@ github.com/libp2p/go-libp2p v0.1.0/go.mod h1:6D/2OBauqLUoqcADOJpn9WbKqvaM07tDw68 github.com/libp2p/go-libp2p-autonat v0.1.0/go.mod h1:1tLf2yXxiE/oKGtDwPYWTSYG3PtvYlJmg7NeVtPRqH8= github.com/libp2p/go-libp2p-blankhost v0.1.1 h1:X919sCh+KLqJcNRApj43xCSiQRYqOSI88Fdf55ngf78= github.com/libp2p/go-libp2p-blankhost v0.1.1/go.mod h1:pf2fvdLJPsC1FsVrNP3DUUvMzUts2dsLLBEpo1vW1ro= +github.com/libp2p/go-libp2p-blankhost v0.1.4 h1:I96SWjR4rK9irDHcHq3XHN6hawCRTPUADzkJacgZLvk= +github.com/libp2p/go-libp2p-blankhost v0.1.4/go.mod h1:oJF0saYsAXQCSfDq254GMNmLNz6ZTHTOvtF4ZydUvwU= github.com/libp2p/go-libp2p-circuit v0.1.0/go.mod h1:Ahq4cY3V9VJcHcn1SBXjr78AbFkZeIRmfunbA7pmFh8= +github.com/libp2p/go-libp2p-circuit v0.2.3 h1:3Uw1fPHWrp1tgIhBz0vSOxRUmnKL8L/NGUyEd5WfSGM= +github.com/libp2p/go-libp2p-circuit v0.2.3/go.mod h1:nkG3iE01tR3FoQ2nMm06IUrCpCyJp1Eo4A1xYdpjfs4= github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco= github.com/libp2p/go-libp2p-core v0.0.2/go.mod h1:9dAcntw/n46XycV4RnlBq3BpgrmyUi9LuoTNdPrbUco= +github.com/libp2p/go-libp2p-core v0.2.0/go.mod h1:X0eyB0Gy93v0DZtSYbEM7RnMChm9Uv3j7yRXjO77xSI= +github.com/libp2p/go-libp2p-core v0.2.2/go.mod h1:8fcwTbsG2B+lTgRJ1ICZtiM5GWCWZVoVrLaDRvIRng0= +github.com/libp2p/go-libp2p-core v0.2.4/go.mod h1:STh4fdfa5vDYr0/SzYYeqnt+E6KfEV5VxfIrm0bcI0g= +github.com/libp2p/go-libp2p-core v0.3.0/go.mod h1:ACp3DmS3/N64c2jDzcV429ukDpicbL6+TrrxANBjPGw= +github.com/libp2p/go-libp2p-core v0.3.1/go.mod h1:thvWy0hvaSBhnVBaW37BvzgVV68OUhgJJLAa6almrII= +github.com/libp2p/go-libp2p-core v0.4.0/go.mod h1:49XGI+kc38oGVwqSBhDEwytaAxgZasHhFfQKibzTls0= +github.com/libp2p/go-libp2p-core v0.5.0/go.mod h1:49XGI+kc38oGVwqSBhDEwytaAxgZasHhFfQKibzTls0= +github.com/libp2p/go-libp2p-core v0.5.1/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= +github.com/libp2p/go-libp2p-core v0.5.2/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= +github.com/libp2p/go-libp2p-core v0.5.4/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= +github.com/libp2p/go-libp2p-core v0.5.5/go.mod h1:vj3awlOr9+GMZJFH9s4mpt9RHHgGqeHCopzbYKZdRjM= +github.com/libp2p/go-libp2p-core v0.5.6/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= github.com/libp2p/go-libp2p-core v0.6.0 h1:u03qofNYTBN+yVg08PuAKylZogVf0xcTEeM8skGf+ak= github.com/libp2p/go-libp2p-core v0.6.0/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ= @@ -204,6 +310,8 @@ github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3x github.com/libp2p/go-libp2p-mplex v0.2.0/go.mod h1:Ejl9IyjvXJ0T9iqUTE1jpYATQ9NM3g+OtR+EMMODbKo= github.com/libp2p/go-libp2p-mplex v0.2.1 h1:E1xaJBQnbSiTHGI1gaBKmKhu1TUKkErKJnE8iGvirYI= github.com/libp2p/go-libp2p-mplex v0.2.1/go.mod h1:SC99Rxs8Vuzrf/6WhmH41kNn13TiYdAWNYHrwImKLnE= +github.com/libp2p/go-libp2p-mplex v0.2.3 h1:2zijwaJvpdesST2MXpI5w9wWFRgYtMcpRX7rrw0jmOo= +github.com/libp2p/go-libp2p-mplex v0.2.3/go.mod h1:CK3p2+9qH9x+7ER/gWWDYJ3QW5ZxWDkm+dVvjfuG3ek= github.com/libp2p/go-libp2p-nat v0.0.4 h1:+KXK324yaY701On8a0aGjTnw8467kW3ExKcqW2wwmyw= github.com/libp2p/go-libp2p-nat v0.0.4/go.mod h1:N9Js/zVtAXqaeT99cXgTV9e75KpnWCvVOiGzlcHmBbY= github.com/libp2p/go-libp2p-netutil v0.1.0 h1:zscYDNVEcGxyUpMd0JReUZTrpMfia8PmLKcKF72EAMQ= @@ -212,30 +320,65 @@ github.com/libp2p/go-libp2p-peer v0.2.0 h1:EQ8kMjaCUwt/Y5uLgjT8iY2qg0mGUT0N1zUje github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY= github.com/libp2p/go-libp2p-peerstore v0.1.0 h1:MKh7pRNPHSh1fLPj8u/M/s/napdmeNpoi9BRy9lPN0E= github.com/libp2p/go-libp2p-peerstore v0.1.0/go.mod h1:2CeHkQsr8svp4fZ+Oi9ykN1HBb6u0MOvdJ7YIsmcwtY= +github.com/libp2p/go-libp2p-peerstore v0.2.2/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRjwRLBr4TYKfNgrUkOPA= +github.com/libp2p/go-libp2p-peerstore v0.2.4 h1:jU9S4jYN30kdzTpDAR7SlHUD+meDUjTODh4waLWF1ws= +github.com/libp2p/go-libp2p-peerstore v0.2.4/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= +github.com/libp2p/go-libp2p-peerstore v0.2.6 h1:2ACefBX23iMdJU9Ke+dcXt3w86MIryes9v7In4+Qq3U= +github.com/libp2p/go-libp2p-peerstore v0.2.6/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= +github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6na5f0/k= +github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= +github.com/libp2p/go-libp2p-quic-transport v0.5.0 h1:BUN1lgYNUrtv4WLLQ5rQmC9MCJ6uEXusezGvYRNoJXE= +github.com/libp2p/go-libp2p-quic-transport v0.5.0/go.mod h1:IEcuC5MLxvZ5KuHKjRu+dr3LjCT1Be3rcD/4d8JrX8M= github.com/libp2p/go-libp2p-record v0.1.0 h1:wHwBGbFzymoIl69BpgwIu0O6ta3TXGcMPvHUAcodzRc= github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= github.com/libp2p/go-libp2p-secio v0.1.0 h1:NNP5KLxuP97sE5Bu3iuwOWyT/dKEGMN5zSLMWdB7GTQ= github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8= +github.com/libp2p/go-libp2p-secio v0.2.1/go.mod h1:cWtZpILJqkqrSkiYcDBh5lA3wbT2Q+hz3rJQq3iftD8= +github.com/libp2p/go-libp2p-secio v0.2.2 h1:rLLPvShPQAcY6eNurKNZq3eZjPWfU9kXF2eI9jIYdrg= +github.com/libp2p/go-libp2p-secio v0.2.2/go.mod h1:wP3bS+m5AUnFA+OFO7Er03uO1mncHG0uVwGrwvjYlNY= github.com/libp2p/go-libp2p-swarm v0.1.0 h1:HrFk2p0awrGEgch9JXK/qp/hfjqQfgNxpLWnCiWPg5s= github.com/libp2p/go-libp2p-swarm v0.1.0/go.mod h1:wQVsCdjsuZoc730CgOvh5ox6K8evllckjebkdiY5ta4= +github.com/libp2p/go-libp2p-swarm v0.2.3/go.mod h1:P2VO/EpxRyDxtChXz/VPVXyTnszHvokHKRhfkEgFKNM= +github.com/libp2p/go-libp2p-swarm v0.2.7 h1:4lV/sf7f0NuVqunOpt1I11+Z54+xp+m0eeAvxj/LyRc= +github.com/libp2p/go-libp2p-swarm v0.2.7/go.mod h1:ZSJ0Q+oq/B1JgfPHJAT2HTall+xYRNYp1xs4S2FBWKA= github.com/libp2p/go-libp2p-testing v0.0.2/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= github.com/libp2p/go-libp2p-testing v0.0.3 h1:bdij4bKaaND7tCsaXVjRfYkMpvoOeKj9AVQGJllA6jM= github.com/libp2p/go-libp2p-testing v0.0.3/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= +github.com/libp2p/go-libp2p-testing v0.0.4/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= +github.com/libp2p/go-libp2p-testing v0.1.0/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eqnjVyavGroI2nxEM0= +github.com/libp2p/go-libp2p-testing v0.1.1 h1:U03z3HnGI7Ni8Xx6ONVZvUFOAzWYmolWf5W5jAOPNmU= +github.com/libp2p/go-libp2p-testing v0.1.1/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eqnjVyavGroI2nxEM0= +github.com/libp2p/go-libp2p-tls v0.1.3 h1:twKMhMu44jQO+HgQK9X8NHO5HkeJu2QbhLzLJpa8oNM= +github.com/libp2p/go-libp2p-tls v0.1.3/go.mod h1:wZfuewxOndz5RTnCAxFliGjvYSDA40sKitV4c50uI1M= github.com/libp2p/go-libp2p-transport-upgrader v0.1.1 h1:PZMS9lhjK9VytzMCW3tWHAXtKXmlURSc3ZdvwEcKCzw= github.com/libp2p/go-libp2p-transport-upgrader v0.1.1/go.mod h1:IEtA6or8JUbsV07qPW4r01GnTenLW4oi3lOPbUMGJJA= +github.com/libp2p/go-libp2p-transport-upgrader v0.2.0/go.mod h1:mQcrHj4asu6ArfSoMuyojOdjx73Q47cYD7s5+gZOlns= +github.com/libp2p/go-libp2p-transport-upgrader v0.3.0 h1:q3ULhsknEQ34eVDhv4YwKS8iet69ffs9+Fir6a7weN4= +github.com/libp2p/go-libp2p-transport-upgrader v0.3.0/go.mod h1:i+SKzbRnvXdVbU3D1dwydnTmKRPXiAR/fyvi1dXuL4o= github.com/libp2p/go-libp2p-yamux v0.2.0 h1:TSPZ5cMMz/wdoYsye/wU1TE4G3LDGMoeEN0xgnCKU/I= github.com/libp2p/go-libp2p-yamux v0.2.0/go.mod h1:Db2gU+XfLpm6E4rG5uGCFX6uXA8MEXOxFcRoXUODaK8= +github.com/libp2p/go-libp2p-yamux v0.2.2/go.mod h1:lIohaR0pT6mOt0AZ0L2dFze9hds9Req3OfS+B+dv4qw= +github.com/libp2p/go-libp2p-yamux v0.2.8 h1:0s3ELSLu2O7hWKfX1YjzudBKCP0kZ+m9e2+0veXzkn4= +github.com/libp2p/go-libp2p-yamux v0.2.8/go.mod h1:/t6tDqeuZf0INZMTgd0WxIRbtK2EzI2h7HbFm9eAKI4= github.com/libp2p/go-maddr-filter v0.0.4 h1:hx8HIuuwk34KePddrp2mM5ivgPkZ09JH4AvsALRbFUs= github.com/libp2p/go-maddr-filter v0.0.4/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q= +github.com/libp2p/go-maddr-filter v0.0.5/go.mod h1:Jk+36PMfIqCJhAnaASRH83bdAvfDRp/w6ENFaC9bG+M= github.com/libp2p/go-mplex v0.0.3/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0= github.com/libp2p/go-mplex v0.1.0 h1:/nBTy5+1yRyY82YaO6HXQRnO5IAGsXTjEJaR3LdTPc0= github.com/libp2p/go-mplex v0.1.0/go.mod h1:SXgmdki2kwCUlCCbfGLEgHjC4pFqhTp0ZoV6aiKgxDU= +github.com/libp2p/go-mplex v0.1.2 h1:qOg1s+WdGLlpkrczDqmhYzyk3vCfsQ8+RxRTQjOZWwI= +github.com/libp2p/go-mplex v0.1.2/go.mod h1:Xgz2RDCi3co0LeZfgjm4OgUF15+sVR8SRcu3SFXI1lk= github.com/libp2p/go-msgio v0.0.2 h1:ivPvEKHxmVkTClHzg6RXTYHqaJQ0V9cDbq+6lKb3UV0= github.com/libp2p/go-msgio v0.0.2/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= github.com/libp2p/go-msgio v0.0.4 h1:agEFehY3zWJFUHK6SEMR7UYmk2z6kC3oeCM7ybLhguA= github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= github.com/libp2p/go-nat v0.0.3 h1:l6fKV+p0Xa354EqQOQP+d8CivdLM4kl5GxC1hSc/UeI= github.com/libp2p/go-nat v0.0.3/go.mod h1:88nUEt0k0JD45Bk93NIwDqjlhiOwOoV36GchpcVc1yI= +github.com/libp2p/go-netroute v0.1.2 h1:UHhB35chwgvcRI392znJA3RCBtZ3MpE3ahNCN5MR4Xg= +github.com/libp2p/go-netroute v0.1.2/go.mod h1:jZLDV+1PE8y5XxBySEBgbuVAXbhtuHSdmLPL2n9MKbk= +github.com/libp2p/go-openssl v0.0.2/go.mod h1:v8Zw2ijCSWBQi8Pq5GAixw6DbFfa9u6VIYDXnvOXkc0= +github.com/libp2p/go-openssl v0.0.3/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-openssl v0.0.5/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-openssl v0.0.6 h1:BFqTHVDt6V60Y7xU9f89FwljvFl/CEqZYO1vlfa2DCE= github.com/libp2p/go-openssl v0.0.6/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= @@ -243,22 +386,48 @@ github.com/libp2p/go-reuseport v0.0.1 h1:7PhkfH73VXfPJYKQ6JwS5I/eVcoyYi9IMNGc6FW github.com/libp2p/go-reuseport v0.0.1/go.mod h1:jn6RmB1ufnQwl0Q1f+YxAj8isJgDCQzaaxIFYDhcYEA= github.com/libp2p/go-reuseport-transport v0.0.2 h1:WglMwyXyBu61CMkjCCtnmqNqnjib0GIEjMiHTwR/KN4= github.com/libp2p/go-reuseport-transport v0.0.2/go.mod h1:YkbSDrvjUVDL6b8XqriyA20obEtsW9BLkuOUyQAOCbs= +github.com/libp2p/go-reuseport-transport v0.0.3 h1:zzOeXnTooCkRvoH+bSXEfXhn76+LAiwoneM0gnXjF2M= +github.com/libp2p/go-reuseport-transport v0.0.3/go.mod h1:Spv+MPft1exxARzP2Sruj2Wb5JSyHNncjf1Oi2dEbzM= +github.com/libp2p/go-sockaddr v0.0.2 h1:tCuXfpA9rq7llM/v834RKc/Xvovy/AqM9kHvTV/jY/Q= +github.com/libp2p/go-sockaddr v0.0.2/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= github.com/libp2p/go-stream-muxer v0.0.1/go.mod h1:bAo8x7YkSpadMTbtTaxGVHWUQsR/l5MEaHbKaliuT14= github.com/libp2p/go-stream-muxer-multistream v0.2.0 h1:714bRJ4Zy9mdhyTLJ+ZKiROmAFwUHpeRidG+q7LTQOg= github.com/libp2p/go-stream-muxer-multistream v0.2.0/go.mod h1:j9eyPol/LLRqT+GPLSxvimPhNph4sfYfMoDPd7HkzIc= +github.com/libp2p/go-stream-muxer-multistream v0.3.0 h1:TqnSHPJEIqDEO7h1wZZ0p3DXdvDSiLHQidKKUGZtiOY= +github.com/libp2p/go-stream-muxer-multistream v0.3.0/go.mod h1:yDh8abSIzmZtqtOt64gFJUXEryejzNb0lisTt+fAMJA= github.com/libp2p/go-tcp-transport v0.1.0 h1:IGhowvEqyMFknOar4FWCKSWE0zL36UFKQtiRQD60/8o= github.com/libp2p/go-tcp-transport v0.1.0/go.mod h1:oJ8I5VXryj493DEJ7OsBieu8fcg2nHGctwtInJVpipc= +github.com/libp2p/go-tcp-transport v0.1.1/go.mod h1:3HzGvLbx6etZjnFlERyakbaYPdfjg2pWP97dFZworkY= +github.com/libp2p/go-tcp-transport v0.2.0 h1:YoThc549fzmNJIh7XjHVtMIFaEDRtIrtWciG5LyYAPo= +github.com/libp2p/go-tcp-transport v0.2.0/go.mod h1:vX2U0CnWimU4h0SGSEsg++AzvBcroCGYw28kh94oLe0= github.com/libp2p/go-testutil v0.1.0 h1:4QhjaWGO89udplblLVpgGDOQjzFlRavZOjuEnz2rLMc= github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjVe/gLzZ2Ehc= github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo= github.com/libp2p/go-yamux v1.2.2 h1:s6J6o7+ajoQMjHe7BEnq+EynOj5D2EoG8CuQgL3F2vg= github.com/libp2p/go-yamux v1.2.2/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.0/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.7 h1:v40A1eSPJDIZwz2AvrV3cxpTZEGDP11QJbukmEhYyQI= +github.com/libp2p/go-yamux v1.3.7/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/hkmpooHE= +github.com/lucas-clemente/quic-go v0.16.0 h1:jJw36wfzGJhmOhAOaOC2lS36WgeqXQszH47A7spo1LI= +github.com/lucas-clemente/quic-go v0.16.0/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= +github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/marten-seemann/qpack v0.1.0/go.mod h1:LFt1NU/Ptjip0C2CPkhimBz5CGE3WGDAUWqna+CNTrI= +github.com/marten-seemann/qtls v0.9.1 h1:O0YKQxNVPaiFgMng0suWEOY2Sb4LT2sRn9Qimq3Z1IQ= +github.com/marten-seemann/qtls v0.9.1/go.mod h1:T1MmAdDPyISzxlK6kjRr0pcZFBVd1OZbBb/j3cvzHhk= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= @@ -268,6 +437,10 @@ github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU= github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= @@ -282,7 +455,9 @@ github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoR github.com/multiformats/go-multiaddr v0.0.1/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= github.com/multiformats/go-multiaddr v0.0.2/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= github.com/multiformats/go-multiaddr v0.0.4/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.1.0/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo= +github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4= github.com/multiformats/go-multiaddr v0.2.1 h1:SgG/cw5vqyB5QQe5FPe2TqggU9WtrA9X4nZw7LlVqOI= github.com/multiformats/go-multiaddr v0.2.1/go.mod h1:s/Apk6IyxfvMjDafnhJgJ3/46z7tZ04iMk5wP4QMGGE= github.com/multiformats/go-multiaddr v0.2.2 h1:XZLDTszBIJe6m0zF6ITBrEcZR73OPUhCBBS9rYAuUzI= @@ -297,6 +472,10 @@ github.com/multiformats/go-multiaddr-fmt v0.0.1/go.mod h1:aBYjqL4T/7j4Qx+R73XSv/ github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= github.com/multiformats/go-multiaddr-net v0.0.1/go.mod h1:nw6HSxNmCIQH27XPGBuX+d1tnvM7ihcFwHMSstNAVUU= +github.com/multiformats/go-multiaddr-net v0.1.0/go.mod h1:5JNbcfBOP4dnhoZOv10JJVkJO0pCCEf8mTnipAo2UZQ= +github.com/multiformats/go-multiaddr-net v0.1.2/go.mod h1:QsWt3XK/3hwvNxZJp92iMQKME1qHfpYmyIjFVsSOY6Y= +github.com/multiformats/go-multiaddr-net v0.1.3/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= +github.com/multiformats/go-multiaddr-net v0.1.4/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= github.com/multiformats/go-multiaddr-net v0.1.5 h1:QoRKvu0xHN1FCFJcMQLbG/yQE2z441L5urvG3+qyz7g= github.com/multiformats/go-multiaddr-net v0.1.5/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= github.com/multiformats/go-multibase v0.0.1 h1:PN9/v21eLywrFWdFNsFKaU04kLJzuYzmrJR+ubhT9qA= @@ -313,24 +492,35 @@ github.com/multiformats/go-multistream v0.1.0 h1:UpO6jrsjqs46mqAK3n6wKRYFhugss9A github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg= github.com/multiformats/go-multistream v0.1.1 h1:JlAdpIFhBhGRLxe9W6Om0w++Gd6KMWoFPZL/dEnm9nI= github.com/multiformats/go-multistream v0.1.1/go.mod h1:KmHZ40hzVxiaiwlj3MEbYgK9JFk2/9UktWZAF54Du38= +github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.2/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.5 h1:XVZwSo04Cs3j/jS0uAEPpT3JY6DzMcVLLoWOSnCxOjg= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= +github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1 h1:mFwc4LvZ0xpSvDZ3E+k8Yte0hLOMxXUlP+yXtJqkYfQ= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/gomega v1.4.3 h1:RE1xgDvH7imwFD45h+u2SgIfERHlS2yNG4DObb5BSKU= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.9.0 h1:R1uwffexN6Pr340GtYRIdZmAiN4J+iw6WG4wog1DUXg= github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -339,22 +529,70 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 h1:bzMe+2coZJYHnhGgVlcQKuRy4FSny4ds8dLQjw5P1XE= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= +github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= +github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= +github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= +github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= +github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= +github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= +github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= +github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= +github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= +github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= +github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= +github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= +github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= +github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= +github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= +github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa h1:E+gaaifzi2xF65PbDmuKI3PhLWY6G5opMLniFq8vmXA= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= +github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= +github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= +github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho= +github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= +github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436 h1:qOpVTI+BrstcjTZLm2Yz/3sOnqkzj3FQoh0g+E5s3Gc= github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= @@ -367,30 +605,52 @@ github.com/whyrusleeping/mafmt v1.2.8/go.mod h1:faQJFPbLSxzD9xpA02ttW/tS9vZykNvX github.com/whyrusleeping/mdns v0.0.0-20180901202407-ef14215e6b30/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 h1:E9S12nwJwEOXe2d6gT6qxdvqMnNq+VnSsKPgm2ZZNds= github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7/go.mod h1:X2c0RVCI1eSUFI8eLcY3c0423ykwiUdxLJtkDvruhjI= +github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/goleak v1.0.0 h1:qsup4IcBdlmsnGfqyLl4Ntn3C2XCCuKAE7DwHpScyUo= +go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.15.0 h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= +go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= +golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190225124518-7f87c0fbb88b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 h1:vEg9joUBmeBcK9iSJftGNf3coIG4HqZElCPehJsfAYM= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -406,10 +666,15 @@ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190228165749-92fc7df08ae7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= @@ -418,44 +683,67 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM= golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190524122548-abf6ff778158/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 h1:ogLJMz+qpzav7lGMh10LMvAkM/fAoGlaiiHYiFYdm80= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181130052023-1c3d964395ce/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64bikrLBkAgPir1TNCj3Zs= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200618120828-9b4b92067d4b h1:AskyZM0swk05tj5YSxmC0DOYXLxl2FgRqwi/CMDEs20= @@ -465,17 +753,29 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= +google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790 h1:FGjyjrQGURdc98leD1P65IdQD9Zlr4McvRcqIlV6OSs= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= @@ -503,6 +803,9 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d/go.mod h1:z+K8VcOYVYcSwSjGebuDL6176A1XskgbtNl64NSg+n8= +gopkg.in/src-d/go-log.v1 v1.0.1/go.mod h1:GN34hKP0g305ysm2/hctJ0Y8nWP3zxXXJ8GFabTyABE= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -512,7 +815,16 @@ gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= +sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= From ff2e8cf97776ac6cabc6397f86410f664a5f18fc Mon Sep 17 00:00:00 2001 From: george xie Date: Fri, 19 Jun 2020 12:19:56 +0800 Subject: [PATCH 05/13] pull in more updates --- go.mod | 37 +++++++++--- go.sum | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 199 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 1a865bc..91621e2 100644 --- a/go.mod +++ b/go.mod @@ -4,25 +4,48 @@ go 1.13 require ( github.com/RTradeLtd/go-libp2p-tls v0.2.4 + github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect github.com/gogo/protobuf v1.3.1 - github.com/golang/protobuf v1.4.2 // indirect + github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect + github.com/golang/mock v1.4.3 // indirect + github.com/google/go-cmp v0.5.0 // indirect + github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect + github.com/ipfs/go-bitswap v0.2.19 // indirect github.com/ipfs/go-block-format v0.0.2 + github.com/ipfs/go-blockservice v0.1.3 // indirect github.com/ipfs/go-cid v0.0.6 + github.com/ipfs/go-ipfs-blockstore v1.0.0 // indirect + github.com/ipfs/go-ipld-cbor v0.0.4 // indirect github.com/ipfs/go-ipld-format v0.2.0 + github.com/ipfs/go-log/v2 v2.1.1 // indirect github.com/ipfs/go-merkledag v0.3.2 + github.com/kr/text v0.2.0 // indirect + github.com/libp2p/go-libp2p v0.10.0 // indirect github.com/libp2p/go-libp2p-core v0.6.0 - github.com/libp2p/go-libp2p-peerstore v0.2.6 // indirect - github.com/libp2p/go-libp2p-swarm v0.2.7 // indirect + github.com/libp2p/go-libp2p-quic-transport v0.6.0 // indirect + github.com/libp2p/go-libp2p-record v0.1.3 // indirect + github.com/lucas-clemente/quic-go v0.17.1 // indirect github.com/multiformats/go-multiaddr v0.2.2 - github.com/multiformats/go-multiaddr-dns v0.2.0 // indirect github.com/multiformats/go-multiaddr-net v0.1.5 + github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect + github.com/onsi/ginkgo v1.13.0 // indirect github.com/pkg/errors v0.9.1 + github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 // indirect + github.com/smartystreets/assertions v1.1.1 // indirect + github.com/smartystreets/goconvey v1.6.4 // indirect + github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a // indirect + github.com/whyrusleeping/cbor-gen v0.0.0-20200504204219-64967432584d // indirect + go.opencensus.io v0.22.4 // indirect go.uber.org/zap v1.15.0 golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect + golang.org/x/mod v0.3.0 // indirect golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect + golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a // indirect golang.org/x/text v0.3.3 // indirect - golang.org/x/tools v0.0.0-20200618120828-9b4b92067d4b // indirect - google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790 // indirect + golang.org/x/tools v0.0.0-20200619023621-037be6a06566 // indirect + google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db // indirect google.golang.org/grpc v1.29.1 - gopkg.in/yaml.v2 v2.3.0 // indirect + gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect + gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect + honnef.co/go/tools v0.0.1-2020.1.4 // indirect ) diff --git a/go.sum b/go.sum index 07e1d3d..f56392f 100644 --- a/go.sum +++ b/go.sum @@ -22,6 +22,7 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= +github.com/btcsuite/btcd v0.0.0-20190605094302-a0d1e3e36d50/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.20.1-beta h1:Ik4hyJqN8Jfyv3S4AGBOmyouMsYE3EdYODkMbQjwPGw= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= @@ -47,6 +48,7 @@ github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmf github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -55,7 +57,11 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018 h1:6xT9KW8zLC5IlbaIF5Q7JNieBoACT7iW0YTxQHR0in0= github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= +github.com/davidlazar/go-crypto v0.0.0-20190912175916-7055855a373f/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= +github.com/dgraph-io/badger v1.6.0-rc1/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger v1.6.1/go.mod h1:FRmFw3uxvcpa8zG3Rxs0th+hCLIuaQg8HlNV5bjgnuU= github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= @@ -71,6 +77,8 @@ github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJn github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= @@ -84,11 +92,15 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekf github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 h1:ZgQEtGgCBiWRM39fZuwSd1LwSqqSW0hOdXCYYDX0R3I= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.4.0 h1:Rd1kQnQu0Hq3qvJppYSG0HtP+f5LPPUiDswTLiEegLg= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -112,6 +124,8 @@ github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gopacket v1.1.17 h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY= @@ -125,7 +139,12 @@ github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0= +github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= @@ -147,22 +166,29 @@ github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= github.com/ipfs/go-bitswap v0.1.0 h1:28YsHYw9ut6wootnImPXH0WpnU5Dbo3qm6cvQ6e6wYY= github.com/ipfs/go-bitswap v0.1.0/go.mod h1:FFJEf18E9izuCqUtHxbWEvq+reg7o4CW5wSAE1wsxj0= +github.com/ipfs/go-bitswap v0.1.8/go.mod h1:TOWoxllhccevbWFUR2N7B1MTSVVge1s6XSMiCSA4MzM= +github.com/ipfs/go-bitswap v0.2.19 h1:EhgRz8gqWQIBADY9gpqJOrfs5E1MtVfQFy1Vq8Z+Fq8= +github.com/ipfs/go-bitswap v0.2.19/go.mod h1:C7TwBgHnu89Q8sHsTJP7IhUqF9XYLe71P4tT5adgmYo= github.com/ipfs/go-block-format v0.0.1/go.mod h1:DK/YYcsSUIVAFNwo/KZCdIIbpN0ROH/baNLgayt4pFc= github.com/ipfs/go-block-format v0.0.2 h1:qPDvcP19izTjU8rgo6p7gTXZlkMkF5bz5G3fqIsSCPE= github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY= github.com/ipfs/go-blockservice v0.1.0 h1:dh2i7xjMbCtf0ZSMyQAF2qpV/pEEmM7yVpQ00+gik6U= github.com/ipfs/go-blockservice v0.1.0/go.mod h1:hzmMScl1kXHg3M2BjTymbVPjv627N7sYcvYaKbop39M= +github.com/ipfs/go-blockservice v0.1.3 h1:9XgsPMwwWJSC9uVr2pMDsW2qFTBSkxpGMhmna8mIjPM= +github.com/ipfs/go-blockservice v0.1.3/go.mod h1:OTZhFpkgY48kNzbgyvcexW9cHrpjBYIjSR0KoDOFOLU= github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= github.com/ipfs/go-cid v0.0.5 h1:o0Ix8e/ql7Zb5UVUJEUfjsWCIY8t48++9lR8qi6oiJU= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= +github.com/ipfs/go-cid v0.0.6-0.20200501230655-7c82f3b81c00/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.0.6 h1:go0y+GcDOGeJIV01FeBsta4FHngoA4Wz7KMeLkXAhMs= github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= +github.com/ipfs/go-datastore v0.1.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= github.com/ipfs/go-datastore v0.3.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= github.com/ipfs/go-datastore v0.4.0/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= github.com/ipfs/go-datastore v0.4.1/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= @@ -171,6 +197,7 @@ github.com/ipfs/go-datastore v0.4.4/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13X github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8= +github.com/ipfs/go-ds-badger v0.0.5/go.mod h1:g5AuuCGmr7efyzQhLL8MzwqcauPojGPUaHzfGTzuE3s= github.com/ipfs/go-ds-badger v0.2.1/go.mod h1:Tx7l3aTph3FMFrRS838dcSJh+jjA7cX9DrGVwx/NOwE= github.com/ipfs/go-ds-badger v0.2.3/go.mod h1:pEYw0rgg3FIrywKKnL+Snr+w/LjJZVMTBRn4FS6UHUk= github.com/ipfs/go-ds-leveldb v0.0.1/go.mod h1:feO8V3kubwsEF22n0YRQCffeb79OOYIykR4L04tMOYc= @@ -179,6 +206,9 @@ github.com/ipfs/go-ds-leveldb v0.4.2/go.mod h1:jpbku/YqBSsBc1qgME8BkWS4AxzF2cEu1 github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= github.com/ipfs/go-ipfs-blockstore v0.1.0 h1:V1GZorHFUIB6YgTJQdq7mcaIpUfCM3fCyVi+MTo9O88= github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= +github.com/ipfs/go-ipfs-blockstore v0.1.4/go.mod h1:Jxm3XMVjh6R17WvxFEiyKBLUGr86HgIYJW/D/MwqeYQ= +github.com/ipfs/go-ipfs-blockstore v1.0.0 h1:pmFp5sFYsYVvMOp9X01AK3s85usVcLvkBTRsN6SnfUA= +github.com/ipfs/go-ipfs-blockstore v1.0.0/go.mod h1:knLVdhVU9L7CC4T+T4nvGdeUIPAXlnd9zmXfp+9MIjU= github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ= github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk= github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= @@ -186,18 +216,27 @@ github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1I github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= github.com/ipfs/go-ipfs-ds-help v0.0.1 h1:QBg+Ts2zgeemK/dB0saiF/ykzRGgfoFMT90Rzo0OnVU= github.com/ipfs/go-ipfs-ds-help v0.0.1/go.mod h1:gtP9xRaZXqIQRh1HRpp595KbBEdgqWFxefeVKOV8sxo= +github.com/ipfs/go-ipfs-ds-help v0.1.1/go.mod h1:SbBafGJuGsPI/QL3j9Fc5YPLeAu+SzOkI0gFwAg+mOs= +github.com/ipfs/go-ipfs-ds-help v1.0.0 h1:bEQ8hMGs80h0sR8O4tfDgV6B01aaF9qeTrujrTLYV3g= +github.com/ipfs/go-ipfs-ds-help v1.0.0/go.mod h1:ujAbkeIgkKAWtxxNkoZHWLCyk5JpPoKnGyCcsoF6ueE= github.com/ipfs/go-ipfs-exchange-interface v0.0.1 h1:LJXIo9W7CAmugqI+uofioIpRb6rY30GUu7G6LUfpMvM= github.com/ipfs/go-ipfs-exchange-interface v0.0.1/go.mod h1:c8MwfHjtQjPoDyiy9cFquVtVHkO9b9Ob3FG91qJnWCM= github.com/ipfs/go-ipfs-exchange-offline v0.0.1 h1:P56jYKZF7lDDOLx5SotVh5KFxoY6C81I1NSHW1FxGew= github.com/ipfs/go-ipfs-exchange-offline v0.0.1/go.mod h1:WhHSFCVYX36H/anEKQboAzpUws3x7UeEGkzQc3iNkM0= github.com/ipfs/go-ipfs-pq v0.0.1 h1:zgUotX8dcAB/w/HidJh1zzc1yFq6Vm8J7T2F4itj/RU= github.com/ipfs/go-ipfs-pq v0.0.1/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY= +github.com/ipfs/go-ipfs-pq v0.0.2 h1:e1vOOW6MuOwG2lqxcLA+wEn93i/9laCY8sXAw76jFOY= +github.com/ipfs/go-ipfs-pq v0.0.2/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY= github.com/ipfs/go-ipfs-routing v0.1.0 h1:gAJTT1cEeeLj6/DlLX6t+NxD9fQe2ymTO6qWRDI/HQQ= github.com/ipfs/go-ipfs-routing v0.1.0/go.mod h1:hYoUkJLyAUKhF58tysKpids8RNDPO42BVMgK5dNsoqY= github.com/ipfs/go-ipfs-util v0.0.1 h1:Wz9bL2wB2YBJqggkA4dD7oSmqB4cAnpNbGrlHJulv50= github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc= +github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8= +github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ= github.com/ipfs/go-ipld-cbor v0.0.3 h1:ENsxvybwkmke7Z/QJOmeJfoguj6GH3Y0YOaGrfy9Q0I= github.com/ipfs/go-ipld-cbor v0.0.3/go.mod h1:wTBtrQZA3SoFKMVkp6cn6HMRteIB1VsmHA0AQFOn7Nc= +github.com/ipfs/go-ipld-cbor v0.0.4 h1:Aw3KPOKXjvrm6VjwJvFf1F1ekR/BH3jdof3Bk7OTiSA= +github.com/ipfs/go-ipld-cbor v0.0.4/go.mod h1:BkCduEx3XBCO6t2Sfo5BaHzuok7hbhdMm9Oh8B2Ftq4= github.com/ipfs/go-ipld-format v0.0.1/go.mod h1:kyJtbkDALmFHv3QR6et67i35QzO3S0dCDnkOJhcZkms= github.com/ipfs/go-ipld-format v0.0.2/go.mod h1:4B6+FM2u9OJ9zCV+kSbgFAZlOrv1Hqbf0INGQgiKf9k= github.com/ipfs/go-ipld-format v0.2.0 h1:xGlJKkArkmBvowr+GMCX0FEZtkro71K1AwiKnL37mwA= @@ -212,18 +251,25 @@ github.com/ipfs/go-log/v2 v2.0.2/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBW github.com/ipfs/go-log/v2 v2.0.3/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBWFaa9+0= github.com/ipfs/go-log/v2 v2.0.5 h1:fL4YI+1g5V/b1Yxr1qAiXTMg1H8z9vx/VmJxBuQMHvU= github.com/ipfs/go-log/v2 v2.0.5/go.mod h1:eZs4Xt4ZUJQFM3DlanGhy7TkwwawCZcSByscwkWG+dw= +github.com/ipfs/go-log/v2 v2.1.1 h1:G4TtqN+V9y9HY9TA6BwbCVyyBZ2B9MbCjR2MtGx8FR0= +github.com/ipfs/go-log/v2 v2.1.1/go.mod h1:2v2nsGfZsvvAJz13SyFzf9ObaqwHiHxsPLEHntrv9KM= github.com/ipfs/go-merkledag v0.3.2 h1:MRqj40QkrWkvPswXs4EfSslhZ4RVPRbxwX11js0t1xY= github.com/ipfs/go-merkledag v0.3.2/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= github.com/ipfs/go-peertaskqueue v0.1.0 h1:bpRbgv76eT4avutNPDFZuCPOQus6qTgurEYxfulgZW4= github.com/ipfs/go-peertaskqueue v0.1.0/go.mod h1:Jmk3IyCcfl1W3jTW3YpghSwSEC6IJ3Vzz/jUmWw8Z0U= +github.com/ipfs/go-peertaskqueue v0.1.1/go.mod h1:Jmk3IyCcfl1W3jTW3YpghSwSEC6IJ3Vzz/jUmWw8Z0U= +github.com/ipfs/go-peertaskqueue v0.2.0 h1:2cSr7exUGKYyDeUyQ7P/nHPs9P7Ht/B+ROrpN1EJOjc= +github.com/ipfs/go-peertaskqueue v0.2.0/go.mod h1:5/eNrBEbtSKWCG+kQK8K8fGNixoYUnr+P7jivavs9lY= github.com/ipfs/go-verifcid v0.0.1 h1:m2HI7zIuR5TFyQ1b79Da5N9dnnCP1vcu2QqawmWlK2E= github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0= github.com/jackpal/gateway v1.0.5 h1:qzXWUJfuMdlLMtt0a3Dgt+xkWQiA5itDEITVJtuSwMc= github.com/jackpal/gateway v1.0.5/go.mod h1:lTpwd4ACLXmpyiCTRtfiNyVnUmqT9RivzCDQetPfnjA= github.com/jackpal/go-nat-pmp v1.0.1 h1:i0LektDkO1QlrTm/cSuP+PyBCDnYvjPLGl4LdWEMiaA= github.com/jackpal/go-nat-pmp v1.0.1/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jbenet/go-cienv v0.0.0-20150120210510-1bb1476777ec/go.mod h1:rGaEvXB4uRSZMmzKNLoXvTu1sfx+1kv/DojUlPrSZGs= github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc= github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= @@ -244,6 +290,8 @@ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d/go.mod h1:P2viExyCEfeWGU259JnaQ34Inuec4R38JCyBx2edgD0= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= @@ -252,6 +300,8 @@ github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b h1:wxtKgYHEncAU00muMD06dzLiahtGM1eouRNOzVV7tdQ= github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= +github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d h1:68u9r4wEvL3gYg2jvAOgROwZ3H+Y3hIDk4tbbmIjcYQ= +github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -260,6 +310,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/libp2p/go-addr-util v0.0.1 h1:TpTQm9cXVRVSKsYbgQ7GKc3KbbHVTnbostgGaDEP+88= github.com/libp2p/go-addr-util v0.0.1/go.mod h1:4ac6O7n9rIAKB1dnd+s8IbbMXkt+oBpzX4/+RACcnlQ= github.com/libp2p/go-addr-util v0.0.2 h1:7cWK5cdA5x72jX0g8iLrQWm5TRJZ6CzGdPEhWj7plWU= @@ -273,21 +325,43 @@ github.com/libp2p/go-conn-security-multistream v0.2.0 h1:uNiDjS58vrvJTg9jO6bySd1 github.com/libp2p/go-conn-security-multistream v0.2.0/go.mod h1:hZN4MjlNetKD3Rq5Jb/P5ohUnFLNzEAR4DLSzpn2QLU= github.com/libp2p/go-eventbus v0.1.0 h1:mlawomSAjjkk97QnYiEmHsLu7E136+2oCWSHRUvMfzQ= github.com/libp2p/go-eventbus v0.1.0/go.mod h1:vROgu5cs5T7cv7POWlWxBaVLxfSegC5UGQf8A2eEmx4= +github.com/libp2p/go-eventbus v0.2.1 h1:VanAdErQnpTioN2TowqNcOijf6YwhuODe4pPKSDpxGc= +github.com/libp2p/go-eventbus v0.2.1/go.mod h1:jc2S4SoEVPP48H9Wpzm5aiGwUCBMfGhVhhBjyhhCJs8= github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8= github.com/libp2p/go-flow-metrics v0.0.3 h1:8tAs/hSdNvUiLgtlSy3mxwxWP4I9y/jlkPFT7epKdeM= github.com/libp2p/go-flow-metrics v0.0.3/go.mod h1:HeoSNUrOJVK1jEpDqVEiUOIXqhbnS27omG0uWU5slZs= github.com/libp2p/go-libp2p v0.1.0 h1:8VXadcPNni74ODoZ+7326LMAppFYmz1fRQOUuT5iZvQ= github.com/libp2p/go-libp2p v0.1.0/go.mod h1:6D/2OBauqLUoqcADOJpn9WbKqvaM07tDw68qHM0BxUM= +github.com/libp2p/go-libp2p v0.1.1/go.mod h1:I00BRo1UuUSdpuc8Q2mN7yDF/oTUTRAX6JWpTiK9Rp8= +github.com/libp2p/go-libp2p v0.6.1/go.mod h1:CTFnWXogryAHjXAKEbOf1OWY+VeAP3lDMZkfEI5sT54= +github.com/libp2p/go-libp2p v0.7.0/go.mod h1:hZJf8txWeCduQRDC/WSqBGMxaTHCOYHt2xSU1ivxn0k= +github.com/libp2p/go-libp2p v0.7.4/go.mod h1:oXsBlTLF1q7pxr+9w6lqzS1ILpyHsaBPniVO7zIHGMw= +github.com/libp2p/go-libp2p v0.8.3/go.mod h1:EsH1A+8yoWK+L4iKcbPYu6MPluZ+CHWI9El8cTaefiM= +github.com/libp2p/go-libp2p v0.10.0 h1:7ooOvK1wi8eLpyTppy8TeH43UHy5uI75GAHGJxenUi0= +github.com/libp2p/go-libp2p v0.10.0/go.mod h1:yBJNpb+mGJdgrwbKAKrhPU0u3ogyNFTfjJ6bdM+Q/G8= github.com/libp2p/go-libp2p-autonat v0.1.0/go.mod h1:1tLf2yXxiE/oKGtDwPYWTSYG3PtvYlJmg7NeVtPRqH8= +github.com/libp2p/go-libp2p-autonat v0.1.1/go.mod h1:OXqkeGOY2xJVWKAGV2inNF5aKN/djNA3fdpCWloIudE= +github.com/libp2p/go-libp2p-autonat v0.2.0/go.mod h1:DX+9teU4pEEoZUqR1PiMlqliONQdNbfzE1C718tcViI= +github.com/libp2p/go-libp2p-autonat v0.2.1/go.mod h1:MWtAhV5Ko1l6QBsHQNSuM6b1sRkXrpk0/LqCr+vCVxI= +github.com/libp2p/go-libp2p-autonat v0.2.2/go.mod h1:HsM62HkqZmHR2k1xgX34WuWDzk/nBwNHoeyyT4IWV6A= +github.com/libp2p/go-libp2p-autonat v0.2.3 h1:w46bKK3KTOUWDe5mDYMRjJu1uryqBp8HCNDp/TWMqKw= +github.com/libp2p/go-libp2p-autonat v0.2.3/go.mod h1:2U6bNWCNsAG9LEbwccBDQbjzQ8Krdjge1jLTE9rdoMM= github.com/libp2p/go-libp2p-blankhost v0.1.1 h1:X919sCh+KLqJcNRApj43xCSiQRYqOSI88Fdf55ngf78= github.com/libp2p/go-libp2p-blankhost v0.1.1/go.mod h1:pf2fvdLJPsC1FsVrNP3DUUvMzUts2dsLLBEpo1vW1ro= github.com/libp2p/go-libp2p-blankhost v0.1.4 h1:I96SWjR4rK9irDHcHq3XHN6hawCRTPUADzkJacgZLvk= github.com/libp2p/go-libp2p-blankhost v0.1.4/go.mod h1:oJF0saYsAXQCSfDq254GMNmLNz6ZTHTOvtF4ZydUvwU= +github.com/libp2p/go-libp2p-blankhost v0.1.6 h1:CkPp1/zaCrCnBo0AdsQA0O1VkUYoUOtyHOnoa8gKIcE= +github.com/libp2p/go-libp2p-blankhost v0.1.6/go.mod h1:jONCAJqEP+Z8T6EQviGL4JsQcLx1LgTGtVqFNY8EMfQ= github.com/libp2p/go-libp2p-circuit v0.1.0/go.mod h1:Ahq4cY3V9VJcHcn1SBXjr78AbFkZeIRmfunbA7pmFh8= +github.com/libp2p/go-libp2p-circuit v0.1.4/go.mod h1:CY67BrEjKNDhdTk8UgBX1Y/H5c3xkAcs3gnksxY7osU= +github.com/libp2p/go-libp2p-circuit v0.2.1/go.mod h1:BXPwYDN5A8z4OEY9sOfr2DUQMLQvKt/6oku45YUmjIo= +github.com/libp2p/go-libp2p-circuit v0.2.2/go.mod h1:nkG3iE01tR3FoQ2nMm06IUrCpCyJp1Eo4A1xYdpjfs4= github.com/libp2p/go-libp2p-circuit v0.2.3 h1:3Uw1fPHWrp1tgIhBz0vSOxRUmnKL8L/NGUyEd5WfSGM= github.com/libp2p/go-libp2p-circuit v0.2.3/go.mod h1:nkG3iE01tR3FoQ2nMm06IUrCpCyJp1Eo4A1xYdpjfs4= github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco= github.com/libp2p/go-libp2p-core v0.0.2/go.mod h1:9dAcntw/n46XycV4RnlBq3BpgrmyUi9LuoTNdPrbUco= +github.com/libp2p/go-libp2p-core v0.0.3/go.mod h1:j+YQMNz9WNSkNezXOsahp9kwZBKBvxLpKD316QWSJXE= +github.com/libp2p/go-libp2p-core v0.0.4/go.mod h1:jyuCQP356gzfCFtRKyvAbNkyeuxb7OlyhWZ3nls5d2I= github.com/libp2p/go-libp2p-core v0.2.0/go.mod h1:X0eyB0Gy93v0DZtSYbEM7RnMChm9Uv3j7yRXjO77xSI= github.com/libp2p/go-libp2p-core v0.2.2/go.mod h1:8fcwTbsG2B+lTgRJ1ICZtiM5GWCWZVoVrLaDRvIRng0= github.com/libp2p/go-libp2p-core v0.2.4/go.mod h1:STh4fdfa5vDYr0/SzYYeqnt+E6KfEV5VxfIrm0bcI0g= @@ -297,30 +371,44 @@ github.com/libp2p/go-libp2p-core v0.4.0/go.mod h1:49XGI+kc38oGVwqSBhDEwytaAxgZas github.com/libp2p/go-libp2p-core v0.5.0/go.mod h1:49XGI+kc38oGVwqSBhDEwytaAxgZasHhFfQKibzTls0= github.com/libp2p/go-libp2p-core v0.5.1/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= github.com/libp2p/go-libp2p-core v0.5.2/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= +github.com/libp2p/go-libp2p-core v0.5.3/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= github.com/libp2p/go-libp2p-core v0.5.4/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y= github.com/libp2p/go-libp2p-core v0.5.5/go.mod h1:vj3awlOr9+GMZJFH9s4mpt9RHHgGqeHCopzbYKZdRjM= github.com/libp2p/go-libp2p-core v0.5.6/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= +github.com/libp2p/go-libp2p-core v0.5.7/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= github.com/libp2p/go-libp2p-core v0.6.0 h1:u03qofNYTBN+yVg08PuAKylZogVf0xcTEeM8skGf+ak= github.com/libp2p/go-libp2p-core v0.6.0/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ= github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI= github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g= +github.com/libp2p/go-libp2p-discovery v0.2.0/go.mod h1:s4VGaxYMbw4+4+tsoQTqh7wfxg97AEdo4GYBt6BadWg= +github.com/libp2p/go-libp2p-discovery v0.3.0/go.mod h1:o03drFnz9BVAZdzC/QUQ+NeQOu38Fu7LJGEOK2gQltw= +github.com/libp2p/go-libp2p-discovery v0.4.0 h1:dK78UhopBk48mlHtRCzbdLm3q/81g77FahEBTjcqQT8= +github.com/libp2p/go-libp2p-discovery v0.4.0/go.mod h1:bZ0aJSrFc/eX2llP0ryhb1kpgkPyTo23SJ5b7UQCMh4= github.com/libp2p/go-libp2p-loggables v0.1.0 h1:h3w8QFfCt2UJl/0/NW4K829HX/0S4KD31PQ7m8UXXO8= github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3xoDasoRYM7nOzEpoa90= github.com/libp2p/go-libp2p-mplex v0.2.0/go.mod h1:Ejl9IyjvXJ0T9iqUTE1jpYATQ9NM3g+OtR+EMMODbKo= github.com/libp2p/go-libp2p-mplex v0.2.1 h1:E1xaJBQnbSiTHGI1gaBKmKhu1TUKkErKJnE8iGvirYI= github.com/libp2p/go-libp2p-mplex v0.2.1/go.mod h1:SC99Rxs8Vuzrf/6WhmH41kNn13TiYdAWNYHrwImKLnE= +github.com/libp2p/go-libp2p-mplex v0.2.2/go.mod h1:74S9eum0tVQdAfFiKxAyKzNdSuLqw5oadDq7+L/FELo= github.com/libp2p/go-libp2p-mplex v0.2.3 h1:2zijwaJvpdesST2MXpI5w9wWFRgYtMcpRX7rrw0jmOo= github.com/libp2p/go-libp2p-mplex v0.2.3/go.mod h1:CK3p2+9qH9x+7ER/gWWDYJ3QW5ZxWDkm+dVvjfuG3ek= github.com/libp2p/go-libp2p-nat v0.0.4 h1:+KXK324yaY701On8a0aGjTnw8467kW3ExKcqW2wwmyw= github.com/libp2p/go-libp2p-nat v0.0.4/go.mod h1:N9Js/zVtAXqaeT99cXgTV9e75KpnWCvVOiGzlcHmBbY= +github.com/libp2p/go-libp2p-nat v0.0.5/go.mod h1:1qubaE5bTZMJE+E/uu2URroMbzdubFz1ChgiN79yKPE= +github.com/libp2p/go-libp2p-nat v0.0.6 h1:wMWis3kYynCbHoyKLPBEMu4YRLltbm8Mk08HGSfvTkU= +github.com/libp2p/go-libp2p-nat v0.0.6/go.mod h1:iV59LVhB3IkFvS6S6sauVTSOrNEANnINbI/fkaLimiw= github.com/libp2p/go-libp2p-netutil v0.1.0 h1:zscYDNVEcGxyUpMd0JReUZTrpMfia8PmLKcKF72EAMQ= github.com/libp2p/go-libp2p-netutil v0.1.0/go.mod h1:3Qv/aDqtMLTUyQeundkKsA+YCThNdbQD54k3TqjpbFU= github.com/libp2p/go-libp2p-peer v0.2.0 h1:EQ8kMjaCUwt/Y5uLgjT8iY2qg0mGUT0N1zUjer50DsY= github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY= github.com/libp2p/go-libp2p-peerstore v0.1.0 h1:MKh7pRNPHSh1fLPj8u/M/s/napdmeNpoi9BRy9lPN0E= github.com/libp2p/go-libp2p-peerstore v0.1.0/go.mod h1:2CeHkQsr8svp4fZ+Oi9ykN1HBb6u0MOvdJ7YIsmcwtY= +github.com/libp2p/go-libp2p-peerstore v0.1.3/go.mod h1:BJ9sHlm59/80oSkpWgr1MyY1ciXAXV397W6h1GH/uKI= +github.com/libp2p/go-libp2p-peerstore v0.2.0/go.mod h1:N2l3eVIeAitSg3Pi2ipSrJYnqhVnMNQZo9nkSCuAbnQ= +github.com/libp2p/go-libp2p-peerstore v0.2.1/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRjwRLBr4TYKfNgrUkOPA= github.com/libp2p/go-libp2p-peerstore v0.2.2/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRjwRLBr4TYKfNgrUkOPA= +github.com/libp2p/go-libp2p-peerstore v0.2.3/go.mod h1:K8ljLdFn590GMttg/luh4caB/3g0vKuY01psze0upRw= github.com/libp2p/go-libp2p-peerstore v0.2.4 h1:jU9S4jYN30kdzTpDAR7SlHUD+meDUjTODh4waLWF1ws= github.com/libp2p/go-libp2p-peerstore v0.2.4/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-peerstore v0.2.6 h1:2ACefBX23iMdJU9Ke+dcXt3w86MIryes9v7In4+Qq3U= @@ -329,15 +417,21 @@ github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6n github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= github.com/libp2p/go-libp2p-quic-transport v0.5.0 h1:BUN1lgYNUrtv4WLLQ5rQmC9MCJ6uEXusezGvYRNoJXE= github.com/libp2p/go-libp2p-quic-transport v0.5.0/go.mod h1:IEcuC5MLxvZ5KuHKjRu+dr3LjCT1Be3rcD/4d8JrX8M= +github.com/libp2p/go-libp2p-quic-transport v0.6.0 h1:d5bcq7y+t6IiumD9Ib0S4oHgWu66rRjQ1Y8ligii6G8= +github.com/libp2p/go-libp2p-quic-transport v0.6.0/go.mod h1:HR435saAZhTrFabI+adf3tVBY7ZJg5rKNoJ+CrIIg8c= github.com/libp2p/go-libp2p-record v0.1.0 h1:wHwBGbFzymoIl69BpgwIu0O6ta3TXGcMPvHUAcodzRc= github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= +github.com/libp2p/go-libp2p-record v0.1.3 h1:R27hoScIhQf/A8XJZ8lYpnqh9LatJ5YbHs28kCIfql0= +github.com/libp2p/go-libp2p-record v0.1.3/go.mod h1:yNUff/adKIfPnYQXgp6FQmNu3gLJ6EMg7+/vv2+9pY4= github.com/libp2p/go-libp2p-secio v0.1.0 h1:NNP5KLxuP97sE5Bu3iuwOWyT/dKEGMN5zSLMWdB7GTQ= github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8= +github.com/libp2p/go-libp2p-secio v0.2.0/go.mod h1:2JdZepB8J5V9mBp79BmwsaPQhRPNN2NrnB2lKQcdy6g= github.com/libp2p/go-libp2p-secio v0.2.1/go.mod h1:cWtZpILJqkqrSkiYcDBh5lA3wbT2Q+hz3rJQq3iftD8= github.com/libp2p/go-libp2p-secio v0.2.2 h1:rLLPvShPQAcY6eNurKNZq3eZjPWfU9kXF2eI9jIYdrg= github.com/libp2p/go-libp2p-secio v0.2.2/go.mod h1:wP3bS+m5AUnFA+OFO7Er03uO1mncHG0uVwGrwvjYlNY= github.com/libp2p/go-libp2p-swarm v0.1.0 h1:HrFk2p0awrGEgch9JXK/qp/hfjqQfgNxpLWnCiWPg5s= github.com/libp2p/go-libp2p-swarm v0.1.0/go.mod h1:wQVsCdjsuZoc730CgOvh5ox6K8evllckjebkdiY5ta4= +github.com/libp2p/go-libp2p-swarm v0.2.2/go.mod h1:fvmtQ0T1nErXym1/aa1uJEyN7JzaTNyBcHImCxRpPKU= github.com/libp2p/go-libp2p-swarm v0.2.3/go.mod h1:P2VO/EpxRyDxtChXz/VPVXyTnszHvokHKRhfkEgFKNM= github.com/libp2p/go-libp2p-swarm v0.2.7 h1:4lV/sf7f0NuVqunOpt1I11+Z54+xp+m0eeAvxj/LyRc= github.com/libp2p/go-libp2p-swarm v0.2.7/go.mod h1:ZSJ0Q+oq/B1JgfPHJAT2HTall+xYRNYp1xs4S2FBWKA= @@ -357,7 +451,10 @@ github.com/libp2p/go-libp2p-transport-upgrader v0.3.0 h1:q3ULhsknEQ34eVDhv4YwKS8 github.com/libp2p/go-libp2p-transport-upgrader v0.3.0/go.mod h1:i+SKzbRnvXdVbU3D1dwydnTmKRPXiAR/fyvi1dXuL4o= github.com/libp2p/go-libp2p-yamux v0.2.0 h1:TSPZ5cMMz/wdoYsye/wU1TE4G3LDGMoeEN0xgnCKU/I= github.com/libp2p/go-libp2p-yamux v0.2.0/go.mod h1:Db2gU+XfLpm6E4rG5uGCFX6uXA8MEXOxFcRoXUODaK8= +github.com/libp2p/go-libp2p-yamux v0.2.1/go.mod h1:1FBXiHDk1VyRM1C0aez2bCfHQ4vMZKkAQzZbkSQt5fI= github.com/libp2p/go-libp2p-yamux v0.2.2/go.mod h1:lIohaR0pT6mOt0AZ0L2dFze9hds9Req3OfS+B+dv4qw= +github.com/libp2p/go-libp2p-yamux v0.2.5/go.mod h1:Zpgj6arbyQrmZ3wxSZxfBmbdnWtbZ48OpsfmQVTErwA= +github.com/libp2p/go-libp2p-yamux v0.2.7/go.mod h1:X28ENrBMU/nm4I3Nx4sZ4dgjZ6VhLEn0XhIoZ5viCwU= github.com/libp2p/go-libp2p-yamux v0.2.8 h1:0s3ELSLu2O7hWKfX1YjzudBKCP0kZ+m9e2+0veXzkn4= github.com/libp2p/go-libp2p-yamux v0.2.8/go.mod h1:/t6tDqeuZf0INZMTgd0WxIRbtK2EzI2h7HbFm9eAKI4= github.com/libp2p/go-maddr-filter v0.0.4 h1:hx8HIuuwk34KePddrp2mM5ivgPkZ09JH4AvsALRbFUs= @@ -366,6 +463,7 @@ github.com/libp2p/go-maddr-filter v0.0.5/go.mod h1:Jk+36PMfIqCJhAnaASRH83bdAvfDR github.com/libp2p/go-mplex v0.0.3/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0= github.com/libp2p/go-mplex v0.1.0 h1:/nBTy5+1yRyY82YaO6HXQRnO5IAGsXTjEJaR3LdTPc0= github.com/libp2p/go-mplex v0.1.0/go.mod h1:SXgmdki2kwCUlCCbfGLEgHjC4pFqhTp0ZoV6aiKgxDU= +github.com/libp2p/go-mplex v0.1.1/go.mod h1:Xgz2RDCi3co0LeZfgjm4OgUF15+sVR8SRcu3SFXI1lk= github.com/libp2p/go-mplex v0.1.2 h1:qOg1s+WdGLlpkrczDqmhYzyk3vCfsQ8+RxRTQjOZWwI= github.com/libp2p/go-mplex v0.1.2/go.mod h1:Xgz2RDCi3co0LeZfgjm4OgUF15+sVR8SRcu3SFXI1lk= github.com/libp2p/go-msgio v0.0.2 h1:ivPvEKHxmVkTClHzg6RXTYHqaJQ0V9cDbq+6lKb3UV0= @@ -374,6 +472,9 @@ github.com/libp2p/go-msgio v0.0.4 h1:agEFehY3zWJFUHK6SEMR7UYmk2z6kC3oeCM7ybLhguA github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= github.com/libp2p/go-nat v0.0.3 h1:l6fKV+p0Xa354EqQOQP+d8CivdLM4kl5GxC1hSc/UeI= github.com/libp2p/go-nat v0.0.3/go.mod h1:88nUEt0k0JD45Bk93NIwDqjlhiOwOoV36GchpcVc1yI= +github.com/libp2p/go-nat v0.0.4/go.mod h1:Nmw50VAvKuk38jUBcmNh6p9lUJLoODbJRvYAa/+KSDo= +github.com/libp2p/go-nat v0.0.5 h1:qxnwkco8RLKqVh1NmjQ+tJ8p8khNLFxuElYG/TwqW4Q= +github.com/libp2p/go-nat v0.0.5/go.mod h1:B7NxsVNPZmRLvMOwiEO1scOSyjA56zxYAGv1yQgRkEU= github.com/libp2p/go-netroute v0.1.2 h1:UHhB35chwgvcRI392znJA3RCBtZ3MpE3ahNCN5MR4Xg= github.com/libp2p/go-netroute v0.1.2/go.mod h1:jZLDV+1PE8y5XxBySEBgbuVAXbhtuHSdmLPL2n9MKbk= github.com/libp2p/go-openssl v0.0.2/go.mod h1:v8Zw2ijCSWBQi8Pq5GAixw6DbFfa9u6VIYDXnvOXkc0= @@ -390,6 +491,8 @@ github.com/libp2p/go-reuseport-transport v0.0.3 h1:zzOeXnTooCkRvoH+bSXEfXhn76+LA github.com/libp2p/go-reuseport-transport v0.0.3/go.mod h1:Spv+MPft1exxARzP2Sruj2Wb5JSyHNncjf1Oi2dEbzM= github.com/libp2p/go-sockaddr v0.0.2 h1:tCuXfpA9rq7llM/v834RKc/Xvovy/AqM9kHvTV/jY/Q= github.com/libp2p/go-sockaddr v0.0.2/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= +github.com/libp2p/go-sockaddr v0.1.0 h1:Y4s3/jNoryVRKEBrkJ576F17CPOaMIzUeCsg7dlTDj0= +github.com/libp2p/go-sockaddr v0.1.0/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= github.com/libp2p/go-stream-muxer v0.0.1/go.mod h1:bAo8x7YkSpadMTbtTaxGVHWUQsR/l5MEaHbKaliuT14= github.com/libp2p/go-stream-muxer-multistream v0.2.0 h1:714bRJ4Zy9mdhyTLJ+ZKiROmAFwUHpeRidG+q7LTQOg= github.com/libp2p/go-stream-muxer-multistream v0.2.0/go.mod h1:j9eyPol/LLRqT+GPLSxvimPhNph4sfYfMoDPd7HkzIc= @@ -403,13 +506,23 @@ github.com/libp2p/go-tcp-transport v0.2.0/go.mod h1:vX2U0CnWimU4h0SGSEsg++AzvBcr github.com/libp2p/go-testutil v0.1.0 h1:4QhjaWGO89udplblLVpgGDOQjzFlRavZOjuEnz2rLMc= github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjVe/gLzZ2Ehc= github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo= +github.com/libp2p/go-ws-transport v0.2.0/go.mod h1:9BHJz/4Q5A9ludYWKoGCFC5gUElzlHoKzu0yY9p/klM= +github.com/libp2p/go-ws-transport v0.3.0/go.mod h1:bpgTJmRZAvVHrgHybCVyqoBmyLQ1fiZuEaBYusP5zsk= +github.com/libp2p/go-ws-transport v0.3.1 h1:ZX5rWB8nhRRJVaPO6tmkGI/Xx8XNboYX20PW5hXIscw= +github.com/libp2p/go-ws-transport v0.3.1/go.mod h1:bpgTJmRZAvVHrgHybCVyqoBmyLQ1fiZuEaBYusP5zsk= github.com/libp2p/go-yamux v1.2.2 h1:s6J6o7+ajoQMjHe7BEnq+EynOj5D2EoG8CuQgL3F2vg= github.com/libp2p/go-yamux v1.2.2/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.2.3/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= github.com/libp2p/go-yamux v1.3.0/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.3/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/libp2p/go-yamux v1.3.5/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= github.com/libp2p/go-yamux v1.3.7 h1:v40A1eSPJDIZwz2AvrV3cxpTZEGDP11QJbukmEhYyQI= github.com/libp2p/go-yamux v1.3.7/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/hkmpooHE= github.com/lucas-clemente/quic-go v0.16.0 h1:jJw36wfzGJhmOhAOaOC2lS36WgeqXQszH47A7spo1LI= github.com/lucas-clemente/quic-go v0.16.0/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= +github.com/lucas-clemente/quic-go v0.16.2/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= +github.com/lucas-clemente/quic-go v0.17.1 h1:ezsH76xpn6hKugfsXUy6voIJBFmAOwnM/Oy9F4b/n+M= +github.com/lucas-clemente/quic-go v0.17.1/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -429,6 +542,7 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= @@ -473,6 +587,7 @@ github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/e github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= github.com/multiformats/go-multiaddr-net v0.0.1/go.mod h1:nw6HSxNmCIQH27XPGBuX+d1tnvM7ihcFwHMSstNAVUU= github.com/multiformats/go-multiaddr-net v0.1.0/go.mod h1:5JNbcfBOP4dnhoZOv10JJVkJO0pCCEf8mTnipAo2UZQ= +github.com/multiformats/go-multiaddr-net v0.1.1/go.mod h1:5JNbcfBOP4dnhoZOv10JJVkJO0pCCEf8mTnipAo2UZQ= github.com/multiformats/go-multiaddr-net v0.1.2/go.mod h1:QsWt3XK/3hwvNxZJp92iMQKME1qHfpYmyIjFVsSOY6Y= github.com/multiformats/go-multiaddr-net v0.1.3/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= github.com/multiformats/go-multiaddr-net v0.1.4/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= @@ -498,6 +613,8 @@ github.com/multiformats/go-varint v0.0.5 h1:XVZwSo04Cs3j/jS0uAEPpT3JY6DzMcVLLoWO github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -509,6 +626,8 @@ github.com/onsi/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1 h1:mFwc4LvZ0xpSvDZ3E+k8Yte0hLOMxXUlP+yXtJqkYfQ= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0 h1:M76yO2HkZASFjXL0HSoZJ1AYEmQxNJmY41Jx1zNUq1Y= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= github.com/onsi/gomega v1.4.3 h1:RE1xgDvH7imwFD45h+u2SgIfERHlS2yNG4DObb5BSKU= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -516,6 +635,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.9.0 h1:R1uwffexN6Pr340GtYRIdZmAiN4J+iw6WG4wog1DUXg= github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -529,6 +650,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 h1:bzMe+2coZJYHnhGgVlcQKuRy4FSny4ds8dLQjw5P1XE= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 h1:CskT+S6Ay54OwxBGB0R3Rsx4Muto6UnEYTyKJbyRIAI= +github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -536,6 +659,7 @@ github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7q github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= @@ -562,8 +686,12 @@ github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5k github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.1.1 h1:T/YLemO5Yp7KPzS+lVtu+WsHn8yoSwTfItdAd1r3cck= +github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa h1:E+gaaifzi2xF65PbDmuKI3PhLWY6G5opMLniFq8vmXA= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= @@ -586,8 +714,11 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho= github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= @@ -595,14 +726,22 @@ github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49u github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436 h1:qOpVTI+BrstcjTZLm2Yz/3sOnqkzj3FQoh0g+E5s3Gc= github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a h1:G++j5e0OC488te356JvdhaM8YS6nMsjLAYF7JxCv07w= +github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/whyrusleeping/cbor-gen v0.0.0-20200123233031-1cdf64d27158 h1:WXhVOwj2USAXB5oMDwRl3piOux2XMV9TANaYxXHdkoE= +github.com/whyrusleeping/cbor-gen v0.0.0-20200123233031-1cdf64d27158/go.mod h1:Xj/M2wWU+QdTdRbu/L/1dIZY8/Wb2K9pAhtroQuxJJI= +github.com/whyrusleeping/cbor-gen v0.0.0-20200504204219-64967432584d h1:Y25auOnuZb/GuJvqMflRSDWBz8/HBRME8fiD+H8zLfs= +github.com/whyrusleeping/cbor-gen v0.0.0-20200504204219-64967432584d/go.mod h1:W5MvapuoHRP8rz4vxjwCK1pDqF1aQcWsV5PZ+AHbqdg= github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc h1:9lDbC6Rz4bwmou+oE6Dt4Cb2BGMur5eR/GYptkKUVHo= github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= +github.com/whyrusleeping/go-logging v0.0.1/go.mod h1:lDPYj54zutzG1XYfHAhcc7oNXEburHQBn+Iqd4yS4vE= github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f h1:M/lL30eFZTKnomXY6huvM6G0+gVquFNf6mxghaWlFUg= github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f/go.mod h1:cZNvX9cFybI01GriPRMXDtczuvUhgbcYr9iCGaNlRv8= github.com/whyrusleeping/mafmt v1.2.8 h1:TCghSl5kkwEE0j+sU/gudyhVMRlpBin8fMBBHg59EbA= github.com/whyrusleeping/mafmt v1.2.8/go.mod h1:faQJFPbLSxzD9xpA02ttW/tS9vZykNvXwGvqIpk20FA= github.com/whyrusleeping/mdns v0.0.0-20180901202407-ef14215e6b30/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= +github.com/whyrusleeping/mdns v0.0.0-20190826153040-b9b60ed33aa9/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 h1:E9S12nwJwEOXe2d6gT6qxdvqMnNq+VnSsKPgm2ZZNds= github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7/go.mod h1:X2c0RVCI1eSUFI8eLcY3c0423ykwiUdxLJtkDvruhjI= github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= @@ -614,6 +753,8 @@ go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -641,12 +782,14 @@ golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 h1:vEg9joUBmeBcK9iSJftGNf3coIG4HqZElCPehJsfAYM= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -662,6 +805,8 @@ golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKG golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -677,9 +822,12 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM= golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -692,7 +840,10 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -709,13 +860,18 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190524122548-abf6ff778158/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 h1:ogLJMz+qpzav7lGMh10LMvAkM/fAoGlaiiHYiFYdm80= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -737,6 +893,7 @@ golang.org/x/tools v0.0.0-20181130052023-1c3d964395ce/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -745,9 +902,11 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64 golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200618120828-9b4b92067d4b h1:AskyZM0swk05tj5YSxmC0DOYXLxl2FgRqwi/CMDEs20= -golang.org/x/tools v0.0.0-20200618120828-9b4b92067d4b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619023621-037be6a06566 h1:49klx7QdOOhowArd5SbtZIcSClTNc0HBG5OrZQ8jQvQ= +golang.org/x/tools v0.0.0-20200619023621-037be6a06566/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -771,8 +930,8 @@ google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790 h1:FGjyjrQGURdc98leD1P65IdQD9Zlr4McvRcqIlV6OSs= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db h1:Q5+mRMPseAnmi+ah5YkFXuVnZqUTgxmQF6e4PnjSkcE= +google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= @@ -800,6 +959,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= @@ -817,6 +978,8 @@ gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -824,6 +987,8 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= From 78475c4bcca0c738bb5f96bd1ea5a456f2b5b4a9 Mon Sep 17 00:00:00 2001 From: george xie Date: Fri, 19 Jun 2020 13:31:53 +0800 Subject: [PATCH 06/13] fix repeated id --- pb/node.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pb/node.proto b/pb/node.proto index d53a777..9c2a1e4 100644 --- a/pb/node.proto +++ b/pb/node.proto @@ -212,7 +212,7 @@ message BlockstoreRequest { // when sent by BS_PUT, BS_PUT_MANY: only put if the id is not marked on block, otherwise noop // when sent by BS_GET, BS_GET_MANY: only get if the id is marked on block // when sent by BS_DELETE: only delete if the id is marked on block - string refId = 1; + string refId = 8; } // BlockstoreResponse is a response to a BlockstoreqRequest @@ -288,7 +288,7 @@ message DagRequest { map links = 8; // optional reference ID to mark the cid/hash with // sent by: DAG_PUT, DAG_REMOVE - string refId = 2; + string refId = 9; } // Used in response to a Dag or DagStream RPC From 36beaa3d00a53bc0c0a0d78025b8b3a6b3c5df72 Mon Sep 17 00:00:00 2001 From: george xie Date: Fri, 19 Jun 2020 13:34:40 +0800 Subject: [PATCH 07/13] generate go bindings --- go/admin.pb.go | 7 +- go/file.pb.go | 607 ++++++++++++++++++++++++++++++++++++++++--- go/namesys.pb.go | 7 +- go/node.pb.go | 433 ++++++++++++++++++++++-------- go/pubsub.pb.go | 7 +- go/replication.pb.go | 7 +- go/status.pb.go | 7 +- go/util.pb.go | 3 +- 8 files changed, 910 insertions(+), 168 deletions(-) diff --git a/go/admin.pb.go b/go/admin.pb.go index 88b103e..e2b252f 100644 --- a/go/admin.pb.go +++ b/go/admin.pb.go @@ -6,14 +6,13 @@ package pb import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/go/file.pb.go b/go/file.pb.go index 74b2e99..5006bc2 100644 --- a/go/file.pb.go +++ b/go/file.pb.go @@ -6,14 +6,13 @@ package pb import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. @@ -33,6 +32,8 @@ type UploadRequest struct { Blob *Blob `protobuf:"bytes,1,opt,name=blob,proto3" json:"blob,omitempty"` // options allows setting the optoins for this upload Options *UploadOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + // optional reference ID to mark the file with, only valid in the first message of a stream + RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId,omitempty"` } func (m *UploadRequest) Reset() { *m = UploadRequest{} } @@ -82,6 +83,13 @@ func (m *UploadRequest) GetOptions() *UploadOptions { return nil } +func (m *UploadRequest) GetRefId() string { + if m != nil { + return m.RefId + } + return "" +} + // UploadOptions allows controlling the parameters of a file upload type UploadOptions struct { // specifes the multihash function to use @@ -338,41 +346,145 @@ func (m *Blob) GetRangeEnd() uint64 { return 0 } +// UploadRequest is used to decrease the reference count on UnixFS objects +type RemoveRequest struct { + // refIds is a map of reference IDs to hash/cid of objects to remove those refernece counts + RefIds map[string]string `protobuf:"bytes,1,rep,name=refIds,proto3" json:"refIds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (m *RemoveRequest) Reset() { *m = RemoveRequest{} } +func (m *RemoveRequest) String() string { return proto.CompactTextString(m) } +func (*RemoveRequest) ProtoMessage() {} +func (*RemoveRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_9188e3b7e55e1162, []int{5} +} +func (m *RemoveRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RemoveRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RemoveRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RemoveRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveRequest.Merge(m, src) +} +func (m *RemoveRequest) XXX_Size() int { + return m.Size() +} +func (m *RemoveRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveRequest proto.InternalMessageInfo + +func (m *RemoveRequest) GetRefIds() map[string]string { + if m != nil { + return m.RefIds + } + return nil +} + +// RemoveResponse contains the response to a remove request +type RemoveResponse struct { + // The number of removal operations performed. + // A missing count is because the refId to hash pair was already removed or was never added + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` +} + +func (m *RemoveResponse) Reset() { *m = RemoveResponse{} } +func (m *RemoveResponse) String() string { return proto.CompactTextString(m) } +func (*RemoveResponse) ProtoMessage() {} +func (*RemoveResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_9188e3b7e55e1162, []int{6} +} +func (m *RemoveResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RemoveResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RemoveResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RemoveResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveResponse.Merge(m, src) +} +func (m *RemoveResponse) XXX_Size() int { + return m.Size() +} +func (m *RemoveResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveResponse proto.InternalMessageInfo + +func (m *RemoveResponse) GetCount() uint64 { + if m != nil { + return m.Count + } + return 0 +} + func init() { proto.RegisterType((*UploadRequest)(nil), "pb.UploadRequest") proto.RegisterType((*UploadOptions)(nil), "pb.UploadOptions") proto.RegisterType((*DownloadRequest)(nil), "pb.DownloadRequest") proto.RegisterType((*DownloadResponse)(nil), "pb.DownloadResponse") proto.RegisterType((*Blob)(nil), "pb.Blob") + proto.RegisterType((*RemoveRequest)(nil), "pb.RemoveRequest") + proto.RegisterMapType((map[string]string)(nil), "pb.RemoveRequest.RefIdsEntry") + proto.RegisterType((*RemoveResponse)(nil), "pb.RemoveResponse") } func init() { proto.RegisterFile("file.proto", fileDescriptor_9188e3b7e55e1162) } var fileDescriptor_9188e3b7e55e1162 = []byte{ - // 367 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x4f, 0x4b, 0xfb, 0x40, - 0x10, 0x4d, 0xda, 0xfc, 0xfa, 0x67, 0x7e, 0x95, 0xea, 0x2a, 0x12, 0x42, 0x09, 0x92, 0x53, 0x41, - 0x28, 0xa5, 0x7a, 0xf5, 0x60, 0x51, 0xd1, 0x93, 0x65, 0x8b, 0x17, 0x11, 0x24, 0xb1, 0xab, 0x0d, - 0xae, 0xbb, 0x31, 0xd9, 0x20, 0x7a, 0xd0, 0xaf, 0xe0, 0xc7, 0xf2, 0xd8, 0xa3, 0x47, 0x69, 0xbf, - 0x88, 0x64, 0xd2, 0x35, 0x6d, 0x0f, 0xbd, 0xe5, 0xbd, 0x79, 0xf3, 0xe6, 0xcd, 0x64, 0x01, 0xee, - 0x43, 0xce, 0x3a, 0x51, 0x2c, 0x95, 0x24, 0xa5, 0x28, 0x70, 0x20, 0x55, 0x21, 0xcf, 0xb1, 0x77, - 0x0d, 0x1b, 0x57, 0x11, 0x97, 0xfe, 0x88, 0xb2, 0xe7, 0x94, 0x25, 0x8a, 0xb4, 0xc0, 0x0a, 0xb8, - 0x0c, 0x6c, 0x73, 0xcf, 0x6c, 0xff, 0xef, 0xd5, 0x3a, 0x51, 0xd0, 0xe9, 0x73, 0x19, 0x50, 0x64, - 0xc9, 0x3e, 0x54, 0x65, 0xa4, 0x42, 0x29, 0x12, 0xbb, 0x84, 0x82, 0xad, 0x4c, 0x90, 0x3b, 0x5c, - 0xe6, 0x05, 0xaa, 0x15, 0xde, 0xad, 0xf6, 0x9e, 0x57, 0x48, 0x0b, 0xea, 0x4f, 0x29, 0x57, 0xe1, - 0xb9, 0x9f, 0x8c, 0x71, 0x40, 0x9d, 0x16, 0x04, 0xd9, 0x85, 0x0a, 0xf7, 0x5f, 0x65, 0xaa, 0xd0, - 0xba, 0x4e, 0xe7, 0x88, 0xd8, 0x50, 0xbd, 0x1b, 0xa7, 0xe2, 0x91, 0xc5, 0x76, 0x19, 0x0b, 0x1a, - 0x7a, 0x1f, 0xd0, 0x3c, 0x91, 0x2f, 0x62, 0x31, 0x3e, 0x01, 0x6b, 0x5c, 0xb8, 0xe3, 0x77, 0x36, - 0x16, 0x3b, 0x86, 0xe1, 0x1b, 0x43, 0xef, 0x7f, 0xb4, 0x20, 0x88, 0x0b, 0x10, 0xfb, 0xe2, 0x81, - 0x0d, 0x95, 0x1f, 0x2b, 0x9c, 0x60, 0xd1, 0x05, 0x86, 0x38, 0x50, 0x43, 0x74, 0x2a, 0x46, 0xb6, - 0x85, 0xd5, 0x3f, 0xec, 0x75, 0x61, 0xb3, 0x08, 0x90, 0x44, 0x52, 0x24, 0x6c, 0xfd, 0x01, 0xbd, - 0x1b, 0xb0, 0x32, 0x84, 0x4b, 0x49, 0xa1, 0x98, 0x50, 0x28, 0x6c, 0x50, 0x0d, 0x57, 0xf2, 0x94, - 0xd6, 0xe6, 0x29, 0x2f, 0xe7, 0xe9, 0xbd, 0x43, 0xf5, 0x2c, 0xe4, 0xec, 0x78, 0x70, 0x41, 0x0e, - 0x01, 0xf2, 0xe3, 0x67, 0x04, 0x59, 0xf8, 0x4d, 0xf3, 0x4b, 0x39, 0xcd, 0x8c, 0x1a, 0xa4, 0x4a, - 0x07, 0xf7, 0x8c, 0xb6, 0x49, 0x8e, 0xa0, 0xa1, 0x17, 0xc2, 0xbe, 0xed, 0x4c, 0xb4, 0x72, 0x63, - 0x67, 0x67, 0x99, 0xd4, 0xed, 0x5d, 0xb3, 0x6f, 0x7f, 0x4d, 0x5d, 0x73, 0x32, 0x75, 0xcd, 0x9f, - 0xa9, 0x6b, 0x7e, 0xce, 0x5c, 0x63, 0x32, 0x73, 0x8d, 0xef, 0x99, 0x6b, 0x04, 0x15, 0x7c, 0x6e, - 0x07, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf6, 0xd3, 0xab, 0x3f, 0x8c, 0x02, 0x00, 0x00, + // 483 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x4d, 0x6f, 0xd3, 0x40, + 0x10, 0xcd, 0x26, 0x4e, 0xd2, 0x4c, 0x5a, 0x5a, 0x96, 0x08, 0x59, 0x56, 0xb1, 0x22, 0x1f, 0x50, + 0x24, 0x24, 0xab, 0x0a, 0x54, 0x02, 0x24, 0x0e, 0x54, 0x14, 0xd1, 0x13, 0xd5, 0x56, 0xdc, 0x90, + 0x90, 0xdd, 0x6c, 0x89, 0xd5, 0xed, 0xae, 0xb1, 0xd7, 0x45, 0xe1, 0x82, 0xf8, 0x07, 0xfc, 0x19, + 0xfe, 0x03, 0xc7, 0x1e, 0x39, 0xa2, 0xe4, 0x8f, 0xa0, 0xfd, 0xc2, 0x4e, 0x0e, 0xb9, 0xf9, 0xbd, + 0x7d, 0x33, 0xf3, 0xf6, 0xed, 0x18, 0xe0, 0x2a, 0x63, 0x34, 0xce, 0x0b, 0x21, 0x05, 0x6e, 0xe7, + 0x69, 0x00, 0x95, 0xcc, 0x98, 0xc1, 0x51, 0x0e, 0x7b, 0x1f, 0x72, 0x26, 0x92, 0x19, 0xa1, 0x5f, + 0x2a, 0x5a, 0x4a, 0x7c, 0x08, 0x5e, 0xca, 0x44, 0xea, 0xa3, 0x31, 0x9a, 0x0c, 0xa7, 0x3b, 0x71, + 0x9e, 0xc6, 0x27, 0x4c, 0xa4, 0x44, 0xb3, 0xf8, 0x09, 0xf4, 0x45, 0x2e, 0x33, 0xc1, 0x4b, 0xbf, + 0xad, 0x05, 0xf7, 0x95, 0xc0, 0x74, 0x78, 0x6f, 0x0e, 0x88, 0x53, 0xe0, 0x11, 0x74, 0x0b, 0x7a, + 0x75, 0x36, 0xf3, 0x3b, 0x63, 0x34, 0x19, 0x10, 0x03, 0xa2, 0x4f, 0x6e, 0xa2, 0xd5, 0xe3, 0x43, + 0x18, 0xdc, 0x54, 0x4c, 0x66, 0xef, 0x92, 0x72, 0xae, 0xc7, 0x0e, 0x48, 0x4d, 0xe0, 0x87, 0xd0, + 0x63, 0xc9, 0x42, 0x54, 0x52, 0x0f, 0x1c, 0x10, 0x8b, 0xb0, 0x0f, 0xfd, 0xcb, 0x79, 0xc5, 0xaf, + 0x69, 0x61, 0xdb, 0x3b, 0x18, 0x7d, 0x87, 0xfd, 0x37, 0xe2, 0x2b, 0x6f, 0x5e, 0x0a, 0x83, 0x37, + 0xaf, 0xbb, 0xeb, 0x6f, 0x35, 0x56, 0x57, 0x5c, 0x64, 0xdf, 0xa8, 0xee, 0xdd, 0x25, 0x35, 0x81, + 0x43, 0x80, 0x22, 0xe1, 0x9f, 0xe9, 0x85, 0x4c, 0x0a, 0xa9, 0x27, 0x78, 0xa4, 0xc1, 0xe0, 0x00, + 0x76, 0x34, 0x3a, 0xe5, 0x33, 0xdf, 0xd3, 0xa7, 0xff, 0x71, 0x74, 0x04, 0x07, 0xb5, 0x81, 0x32, + 0x17, 0xbc, 0xa4, 0xdb, 0x63, 0x8d, 0x3e, 0x82, 0xa7, 0x90, 0xbe, 0x94, 0xe0, 0x92, 0x72, 0xa9, + 0x85, 0xbb, 0xc4, 0xc1, 0x0d, 0x3f, 0xed, 0xad, 0x7e, 0x3a, 0x1b, 0x7e, 0x7e, 0x20, 0xd8, 0x23, + 0xf4, 0x46, 0xdc, 0x52, 0x97, 0xc7, 0x31, 0xf4, 0xf4, 0x63, 0x94, 0x3e, 0x1a, 0x77, 0x26, 0xc3, + 0xe9, 0x23, 0xe5, 0x67, 0x4d, 0x12, 0x13, 0x7d, 0x7e, 0xca, 0x65, 0xb1, 0x20, 0x56, 0x1c, 0xbc, + 0x80, 0x61, 0x83, 0xc6, 0x07, 0xd0, 0xb9, 0xa6, 0x0b, 0x1b, 0xaa, 0xfa, 0x54, 0x2f, 0x7e, 0x9b, + 0xb0, 0x8a, 0xda, 0xb7, 0x32, 0xe0, 0x65, 0xfb, 0x39, 0x8a, 0x1e, 0xc3, 0x3d, 0xd7, 0xdf, 0x26, + 0x32, 0x82, 0xee, 0xa5, 0xa8, 0xec, 0x4d, 0x3d, 0x62, 0xc0, 0xf4, 0x17, 0x82, 0xfe, 0xdb, 0x8c, + 0xd1, 0xd7, 0xe7, 0x67, 0xf8, 0x19, 0x80, 0xd9, 0x14, 0x45, 0xe0, 0xc6, 0xa6, 0x59, 0x8f, 0xc1, + 0xbe, 0xa2, 0xce, 0x2b, 0xe9, 0x7a, 0x46, 0xad, 0x09, 0xc2, 0xaf, 0x60, 0xd7, 0xa5, 0xaf, 0xeb, + 0x1e, 0x28, 0xd1, 0xc6, 0x42, 0x04, 0xa3, 0x75, 0xd2, 0x95, 0x1f, 0x21, 0x7c, 0x0c, 0x60, 0x8c, + 0xd6, 0x43, 0xd7, 0x82, 0x09, 0x70, 0x93, 0x72, 0x85, 0x27, 0xfe, 0xef, 0x65, 0x88, 0xee, 0x96, + 0x21, 0xfa, 0xbb, 0x0c, 0xd1, 0xcf, 0x55, 0xd8, 0xba, 0x5b, 0x85, 0xad, 0x3f, 0xab, 0xb0, 0x95, + 0xf6, 0xf4, 0x8f, 0xf6, 0xf4, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x84, 0x69, 0xea, 0x86, + 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -387,10 +499,12 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type FileAPIClient interface { - // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs add) + // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs pin add) UploadFile(ctx context.Context, opts ...grpc.CallOption) (FileAPI_UploadFileClient, error) // DownloadFile allows downloading a UnixFS object (equivalent to ipfs get) DownloadFile(ctx context.Context, in *DownloadRequest, opts ...grpc.CallOption) (FileAPI_DownloadFileClient, error) + // RemoveFile allows removing a UnixFS object or decrease it's reference counter (equivalent to ipfs pin rm) + RemoveFile(ctx context.Context, in *RemoveRequest, opts ...grpc.CallOption) (*RemoveResponse, error) } type fileAPIClient struct { @@ -467,12 +581,23 @@ func (x *fileAPIDownloadFileClient) Recv() (*DownloadResponse, error) { return m, nil } +func (c *fileAPIClient) RemoveFile(ctx context.Context, in *RemoveRequest, opts ...grpc.CallOption) (*RemoveResponse, error) { + out := new(RemoveResponse) + err := c.cc.Invoke(ctx, "/pb.FileAPI/RemoveFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // FileAPIServer is the server API for FileAPI service. type FileAPIServer interface { - // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs add) + // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs pin add) UploadFile(FileAPI_UploadFileServer) error // DownloadFile allows downloading a UnixFS object (equivalent to ipfs get) DownloadFile(*DownloadRequest, FileAPI_DownloadFileServer) error + // RemoveFile allows removing a UnixFS object or decrease it's reference counter (equivalent to ipfs pin rm) + RemoveFile(context.Context, *RemoveRequest) (*RemoveResponse, error) } // UnimplementedFileAPIServer can be embedded to have forward compatible implementations. @@ -485,6 +610,9 @@ func (*UnimplementedFileAPIServer) UploadFile(srv FileAPI_UploadFileServer) erro func (*UnimplementedFileAPIServer) DownloadFile(req *DownloadRequest, srv FileAPI_DownloadFileServer) error { return status.Errorf(codes.Unimplemented, "method DownloadFile not implemented") } +func (*UnimplementedFileAPIServer) RemoveFile(ctx context.Context, req *RemoveRequest) (*RemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveFile not implemented") +} func RegisterFileAPIServer(s *grpc.Server, srv FileAPIServer) { s.RegisterService(&_FileAPI_serviceDesc, srv) @@ -537,10 +665,33 @@ func (x *fileAPIDownloadFileServer) Send(m *DownloadResponse) error { return x.ServerStream.SendMsg(m) } +func _FileAPI_RemoveFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FileAPIServer).RemoveFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.FileAPI/RemoveFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FileAPIServer).RemoveFile(ctx, req.(*RemoveRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _FileAPI_serviceDesc = grpc.ServiceDesc{ ServiceName: "pb.FileAPI", HandlerType: (*FileAPIServer)(nil), - Methods: []grpc.MethodDesc{}, + Methods: []grpc.MethodDesc{ + { + MethodName: "RemoveFile", + Handler: _FileAPI_RemoveFile_Handler, + }, + }, Streams: []grpc.StreamDesc{ { StreamName: "UploadFile", @@ -576,6 +727,13 @@ func (m *UploadRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.RefId) > 0 { + i -= len(m.RefId) + copy(dAtA[i:], m.RefId) + i = encodeVarintFile(dAtA, i, uint64(len(m.RefId))) + i-- + dAtA[i] = 0x1a + } if m.Options != nil { { size, err := m.Options.MarshalToSizedBuffer(dAtA[:i]) @@ -767,6 +925,76 @@ func (m *Blob) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *RemoveRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RemoveRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RemoveRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.RefIds) > 0 { + for k := range m.RefIds { + v := m.RefIds[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarintFile(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarintFile(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarintFile(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *RemoveResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RemoveResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RemoveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Count != 0 { + i = encodeVarintFile(dAtA, i, uint64(m.Count)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func encodeVarintFile(dAtA []byte, offset int, v uint64) int { offset -= sovFile(v) base := offset @@ -792,6 +1020,10 @@ func (m *UploadRequest) Size() (n int) { l = m.Options.Size() n += 1 + l + sovFile(uint64(l)) } + l = len(m.RefId) + if l > 0 { + n += 1 + l + sovFile(uint64(l)) + } return n } @@ -870,6 +1102,35 @@ func (m *Blob) Size() (n int) { return n } +func (m *RemoveRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.RefIds) > 0 { + for k, v := range m.RefIds { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovFile(uint64(len(k))) + 1 + len(v) + sovFile(uint64(len(v))) + n += mapEntrySize + 1 + sovFile(uint64(mapEntrySize)) + } + } + return n +} + +func (m *RemoveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Count != 0 { + n += 1 + sovFile(uint64(m.Count)) + } + return n +} + func sovFile(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -977,6 +1238,38 @@ func (m *UploadRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthFile + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthFile + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RefId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipFile(dAtA[iNdEx:]) @@ -1506,6 +1799,258 @@ func (m *Blob) Unmarshal(dAtA []byte) error { } return nil } +func (m *RemoveRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RemoveRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RemoveRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefIds", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthFile + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthFile + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RefIds == nil { + m.RefIds = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthFile + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthFile + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthFile + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return ErrInvalidLengthFile + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipFile(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthFile + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.RefIds[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipFile(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthFile + } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthFile + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RemoveResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RemoveResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Count", wireType) + } + m.Count = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Count |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipFile(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthFile + } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthFile + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipFile(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/go/namesys.pb.go b/go/namesys.pb.go index 1c4cf3e..5931b93 100644 --- a/go/namesys.pb.go +++ b/go/namesys.pb.go @@ -6,14 +6,13 @@ package pb import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/go/node.pb.go b/go/node.pb.go index 0400470..4229b55 100644 --- a/go/node.pb.go +++ b/go/node.pb.go @@ -6,14 +6,13 @@ package pb import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. @@ -269,6 +268,8 @@ const ( DAGREQTYPE_DAG_GET_LINKS DAGREQTYPE = 4 // DAG_STAT is used to retrieve ipld.NodeStats information DAGREQTYPE_DAG_STAT DAGREQTYPE = 5 + // DAG_REMOVE is the inverse of DAG_PUT + DAGREQTYPE_DAG_REMOVE DAGREQTYPE = 6 ) var DAGREQTYPE_name = map[int32]string{ @@ -278,6 +279,7 @@ var DAGREQTYPE_name = map[int32]string{ 3: "DAG_ADD_LINKS", 4: "DAG_GET_LINKS", 5: "DAG_STAT", + 6: "DAG_REMOVE", } var DAGREQTYPE_value = map[string]int32{ @@ -287,6 +289,7 @@ var DAGREQTYPE_value = map[string]int32{ "DAG_ADD_LINKS": 3, "DAG_GET_LINKS": 4, "DAG_STAT": 5, + "DAG_REMOVE": 6, } func (x DAGREQTYPE) String() string { @@ -908,6 +911,11 @@ type BlockstoreRequest struct { // the hash function to use when constructing blocks, default is sha2-256 // sent by: BS_PUT, BS_PUT_MANY HashFunc string `protobuf:"bytes,7,opt,name=hashFunc,proto3" json:"hashFunc,omitempty"` + // reference ID to mark the blocks of this operation with + // when sent by BS_PUT, BS_PUT_MANY: only put if the id is not marked on block, otherwise noop + // when sent by BS_GET, BS_GET_MANY: only get if the id is marked on block + // when sent by BS_DELETE: only delete if the id is marked on block + RefId string `protobuf:"bytes,8,opt,name=refId,proto3" json:"refId,omitempty"` } func (m *BlockstoreRequest) Reset() { *m = BlockstoreRequest{} } @@ -985,6 +993,13 @@ func (m *BlockstoreRequest) GetHashFunc() string { return "" } +func (m *BlockstoreRequest) GetRefId() string { + if m != nil { + return m.RefId + } + return "" +} + // BlockstoreResponse is a response to a BlockstoreqRequest type BlockstoreResponse struct { // indicates the particular request type being made @@ -1134,11 +1149,14 @@ type DagRequest struct { // sent by: DAG_PUT, DAG_NEW_NODE CidVersion int64 `protobuf:"varint,6,opt,name=cidVersion,proto3" json:"cidVersion,omitempty"` // the hash of the object we are processing - // sent by: DAG_GET, DAG_NEW_NODe, DAG_ADD_LINKS, DAG_GET_LINKS + // sent by: DAG_GET, DAG_NEW_NODe, DAG_ADD_LINKS, DAG_GET_LINKS, DAG_REMOVE Hash string `protobuf:"bytes,7,opt,name=hash,proto3" json:"hash,omitempty"` // indicates links and their names. key = name, value = link hash // sent by: DAG_NEW_NODE, DAG_ADD_LINKS Links map[string]string `protobuf:"bytes,8,rep,name=links,proto3" json:"links,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // optional reference ID to mark the cid/hash with + // sent by: DAG_PUT, DAG_REMOVE + RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId,omitempty"` } func (m *DagRequest) Reset() { *m = DagRequest{} } @@ -1230,6 +1248,13 @@ func (m *DagRequest) GetLinks() map[string]string { return nil } +func (m *DagRequest) GetRefId() string { + if m != nil { + return m.RefId + } + return "" +} + // Used in response to a Dag or DagStream RPC type DagResponse struct { // indicates the request being performed @@ -1247,6 +1272,9 @@ type DagResponse struct { // maps ipld cids to a ipld.NodeStat object equivalent // sent by: DAG_STAT NodeStats map[string]*IPLDStat `protobuf:"bytes,5,rep,name=nodeStats,proto3" json:"nodeStats,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The number of removal operations performed. + // sent by: DAG_REMOVE + Count uint64 `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"` } func (m *DagResponse) Reset() { *m = DagResponse{} } @@ -1317,6 +1345,13 @@ func (m *DagResponse) GetNodeStats() map[string]*IPLDStat { return nil } +func (m *DagResponse) GetCount() uint64 { + if m != nil { + return m.Count + } + return 0 +} + // IPLDStat is statistics about an individual dag node // it is a protocol buffer wrapper around ipld.NodeStat type IPLDStat struct { @@ -1664,6 +1699,8 @@ func (m *KeystoreResponse) GetHas() bool { type PersistRequest struct { // cids to persist locally Cids []string `protobuf:"bytes,1,rep,name=cids,proto3" json:"cids,omitempty"` + // optional reference ID to mark the cids with + RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId,omitempty"` } func (m *PersistRequest) Reset() { *m = PersistRequest{} } @@ -1706,6 +1743,13 @@ func (m *PersistRequest) GetCids() []string { return nil } +func (m *PersistRequest) GetRefId() string { + if m != nil { + return m.RefId + } + return "" +} + type PersistResponse struct { // key = cid, value = whether or not it was persisted Status map[string]bool `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` @@ -1800,116 +1844,119 @@ func init() { func init() { proto.RegisterFile("node.proto", fileDescriptor_0c843d59d2d938e7) } var fileDescriptor_0c843d59d2d938e7 = []byte{ - // 1747 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x92, 0xe3, 0x48, - 0x11, 0xb6, 0xe4, 0x9f, 0xb6, 0xd3, 0xfd, 0xa3, 0xa9, 0x19, 0x06, 0x63, 0x08, 0xd3, 0x88, 0x8d, - 0xa5, 0xa3, 0x83, 0xe8, 0x99, 0xf0, 0x2e, 0x31, 0xb3, 0xc4, 0x12, 0x84, 0x6c, 0xc9, 0xbd, 0xc6, - 0xbf, 0x48, 0xee, 0xdd, 0x99, 0x93, 0x43, 0x6d, 0x17, 0x3d, 0xa2, 0x65, 0xc9, 0x2b, 0xc9, 0xbd, - 0xf4, 0x1c, 0x79, 0x02, 0x78, 0x02, 0x2e, 0x1c, 0x78, 0x03, 0x0e, 0xbc, 0x00, 0xc7, 0xe5, 0xb6, - 0x47, 0x62, 0xe6, 0xc0, 0x89, 0x07, 0xe0, 0x46, 0x64, 0x55, 0x49, 0x96, 0xbc, 0xea, 0xe8, 0x99, - 0xbd, 0x55, 0x66, 0x65, 0x66, 0x7d, 0xf9, 0xab, 0x14, 0x80, 0xe7, 0x2f, 0xe9, 0xd9, 0x3a, 0xf0, - 0x23, 0x9f, 0xc8, 0xeb, 0xcb, 0x26, 0x6c, 0x22, 0xc7, 0xe5, 0xb4, 0xfa, 0x8d, 0x0c, 0x30, 0x6d, - 0x4f, 0x4d, 0xfa, 0xe5, 0x86, 0x86, 0x11, 0x79, 0x0a, 0xf5, 0x80, 0x1f, 0x67, 0xb7, 0x6b, 0xda, - 0x90, 0x8e, 0xa5, 0x93, 0xc3, 0xf6, 0xe1, 0xd9, 0xfa, 0xf2, 0x0c, 0x85, 0x8c, 0xdf, 0xce, 0x5e, - 0x4e, 0x0d, 0x33, 0x2d, 0x42, 0x14, 0x28, 0xda, 0xae, 0xdb, 0x90, 0x8f, 0xa5, 0x93, 0xaa, 0x89, - 0x47, 0xd2, 0x80, 0xbd, 0x1b, 0x1a, 0x5c, 0xfa, 0x21, 0x6d, 0x14, 0x19, 0x37, 0x26, 0x89, 0x0a, - 0xfb, 0xec, 0xd5, 0x85, 0xef, 0x8e, 0xed, 0x15, 0x6d, 0x94, 0x8e, 0xa5, 0x93, 0x9a, 0x99, 0xe1, - 0x91, 0x0f, 0xe0, 0xc0, 0x75, 0xc2, 0x88, 0x7a, 0xda, 0x72, 0x19, 0xd0, 0x30, 0x6c, 0x94, 0x99, - 0x50, 0x96, 0x89, 0x52, 0x91, 0x1d, 0x5c, 0xd1, 0x28, 0x96, 0xaa, 0x70, 0xa9, 0x0c, 0x13, 0xa5, - 0x02, 0xba, 0xf2, 0x23, 0x1a, 0x4b, 0xed, 0x71, 0xa9, 0x0c, 0x93, 0xb4, 0xe1, 0x91, 0xed, 0xba, - 0xfe, 0x57, 0xdd, 0x4d, 0x18, 0xf9, 0xab, 0xa9, 0x00, 0x13, 0x36, 0xaa, 0x0c, 0x7c, 0xee, 0x1d, - 0x7a, 0x12, 0xd0, 0xb5, 0x1f, 0x44, 0x53, 0x4a, 0x83, 0xbe, 0xde, 0xa8, 0x31, 0xd9, 0x0c, 0x4f, - 0xfd, 0x9b, 0x04, 0x75, 0x16, 0xda, 0x70, 0xed, 0x7b, 0x21, 0xfd, 0x0e, 0xb1, 0x7d, 0x04, 0x65, - 0xcf, 0x5e, 0xd1, 0xb0, 0x21, 0x1f, 0x17, 0x4f, 0x6a, 0x26, 0x27, 0xc8, 0x31, 0xd4, 0x17, 0xbe, - 0xe7, 0x85, 0x5d, 0xd7, 0x0f, 0xe9, 0x92, 0xc5, 0xb8, 0x6c, 0xa6, 0x59, 0xe4, 0x09, 0xd4, 0xc3, - 0x28, 0xa0, 0xf6, 0xaa, 0xef, 0xfd, 0xce, 0x0f, 0x1b, 0xa5, 0xe3, 0xe2, 0x49, 0xbd, 0x7d, 0x20, - 0x5e, 0x1a, 0x86, 0xc8, 0x35, 0xd3, 0x12, 0xea, 0x9f, 0x25, 0xa8, 0x25, 0x57, 0xdf, 0x4a, 0x93, - 0xf4, 0x2e, 0x69, 0x92, 0xdf, 0x29, 0x4d, 0xc5, 0xbc, 0x34, 0x3d, 0x82, 0xb2, 0xeb, 0x2f, 0x6c, - 0x97, 0xd5, 0x43, 0xd5, 0xe4, 0x84, 0xfa, 0x73, 0x50, 0xce, 0x29, 0x8b, 0x65, 0x98, 0x84, 0xb0, - 0x01, 0x7b, 0x6b, 0x16, 0xdc, 0xb0, 0x21, 0xb1, 0x90, 0xc4, 0xa4, 0xfa, 0x47, 0x09, 0x8e, 0xba, - 0xbe, 0xe7, 0x8d, 0xae, 0x56, 0x51, 0x5c, 0xcc, 0xbf, 0xc8, 0x0b, 0xf8, 0x43, 0x0c, 0x43, 0x77, - 0x32, 0x1e, 0x8f, 0xce, 0x47, 0xb3, 0xdc, 0xa8, 0xb7, 0x00, 0x56, 0x1b, 0x37, 0x72, 0x10, 0x5e, - 0x1c, 0xfa, 0x14, 0x27, 0x0d, 0xa2, 0x98, 0x05, 0xf1, 0x5f, 0x19, 0x94, 0x2d, 0x08, 0x81, 0xf9, - 0x3b, 0xa2, 0xd0, 0xa0, 0x86, 0x29, 0xa5, 0x8b, 0x88, 0x2e, 0x19, 0x88, 0x7a, 0xfb, 0xa7, 0x4c, - 0x69, 0xc7, 0x3e, 0x63, 0x30, 0x29, 0xc3, 0x8b, 0x82, 0x5b, 0x73, 0xab, 0x45, 0x9e, 0x43, 0x25, - 0x8c, 0xec, 0x68, 0xc3, 0x71, 0xd6, 0xdb, 0xc7, 0xb9, 0xfa, 0x16, 0x13, 0xe1, 0xca, 0x42, 0x3e, - 0xed, 0x62, 0x29, 0xe3, 0x62, 0xf3, 0x53, 0x38, 0xcc, 0x3e, 0x88, 0x03, 0xe0, 0x9a, 0xde, 0x8a, - 0x22, 0xc1, 0x23, 0xe6, 0xf3, 0xc6, 0x76, 0x37, 0x54, 0x0c, 0x05, 0x4e, 0xfc, 0x52, 0x7e, 0x2e, - 0x35, 0x47, 0x50, 0x4f, 0x3d, 0x97, 0xa3, 0x7a, 0x92, 0x56, 0xad, 0xb7, 0x49, 0x1a, 0x31, 0xd7, - 0x4c, 0x99, 0x53, 0x87, 0x1c, 0xcc, 0xf6, 0x12, 0x4b, 0x77, 0xe9, 0x84, 0xdb, 0xc0, 0x49, 0xbc, - 0x2f, 0xd3, 0x3c, 0xf2, 0x18, 0x2a, 0x01, 0xb5, 0x43, 0xdf, 0x13, 0x35, 0x2b, 0x28, 0xf5, 0x35, - 0x1c, 0x18, 0x7f, 0x88, 0x02, 0x3b, 0x8c, 0xeb, 0xe7, 0xa3, 0xbc, 0xcc, 0x3d, 0x40, 0x48, 0xc6, - 0x8b, 0x99, 0xa9, 0x59, 0xb9, 0x79, 0xfb, 0x18, 0x0e, 0x28, 0xb3, 0xd2, 0xa3, 0x76, 0xb4, 0x09, - 0xb8, 0x27, 0xa2, 0xcf, 0xb9, 0x1a, 0xd3, 0xc9, 0x0a, 0xa9, 0xff, 0x92, 0xe0, 0x41, 0xc7, 0xf5, - 0x17, 0xd7, 0x61, 0xe4, 0x07, 0x34, 0x06, 0xf0, 0x24, 0x0f, 0x00, 0xeb, 0xe3, 0x4e, 0xfe, 0xe3, - 0x3f, 0x83, 0xbd, 0x80, 0x7e, 0x39, 0x59, 0x47, 0xbc, 0x6e, 0xd3, 0xc2, 0x93, 0xe9, 0xcc, 0x32, - 0xe3, 0x5b, 0x42, 0xa0, 0xb4, 0x70, 0x96, 0x71, 0x01, 0xb3, 0x33, 0xf2, 0x96, 0x76, 0x64, 0xb3, - 0x8c, 0xef, 0x9b, 0xec, 0x8c, 0xbd, 0xb0, 0x70, 0x96, 0x9f, 0xd3, 0x20, 0x74, 0x7c, 0x4f, 0x8c, - 0xe2, 0x14, 0x87, 0x34, 0xa1, 0xfa, 0xca, 0x0e, 0x5f, 0xf5, 0x36, 0xde, 0x42, 0x0c, 0xd7, 0x84, - 0x56, 0x5f, 0x01, 0x49, 0xbb, 0x24, 0xda, 0xe1, 0xbd, 0x7d, 0xfa, 0x09, 0x54, 0x2e, 0x99, 0x19, - 0xd1, 0x05, 0x35, 0x26, 0x8b, 0x1c, 0x53, 0x5c, 0xa8, 0x1a, 0x94, 0x19, 0x03, 0x0b, 0x6a, 0xe1, - 0x2c, 0xe3, 0x82, 0x5a, 0x38, 0xcb, 0xc4, 0x29, 0xcc, 0x42, 0xec, 0x14, 0x81, 0x52, 0xe8, 0xbc, - 0xe6, 0x5f, 0xa7, 0xa2, 0xc9, 0xce, 0xea, 0x7f, 0x64, 0x00, 0xdd, 0xbe, 0xba, 0xff, 0x3b, 0xa8, - 0x6b, 0xe7, 0xb9, 0x30, 0xf3, 0x1e, 0xfa, 0x10, 0x0e, 0xfd, 0xcb, 0xdf, 0xd3, 0x45, 0x64, 0x78, - 0x0b, 0x7f, 0xe9, 0x78, 0x57, 0x62, 0xfe, 0xed, 0x70, 0xc9, 0x53, 0x78, 0x18, 0xd2, 0xc0, 0xb1, - 0x5d, 0xe7, 0xb5, 0x1d, 0x39, 0xbe, 0xd7, 0xf3, 0x83, 0x95, 0x1d, 0x89, 0xcf, 0x63, 0xde, 0x55, - 0x26, 0xee, 0xe5, 0x6c, 0xdc, 0x77, 0x72, 0x56, 0x61, 0x4e, 0xa6, 0x73, 0x46, 0xa0, 0x84, 0xb2, - 0x22, 0x5f, 0xec, 0x4c, 0x9e, 0x40, 0xd9, 0x75, 0xbc, 0x6b, 0xfc, 0xe8, 0x61, 0x8c, 0x7f, 0xc0, - 0x3c, 0x4d, 0xc2, 0x71, 0x36, 0xc4, 0x3b, 0x3e, 0x22, 0xb8, 0x5c, 0xf3, 0x39, 0xc0, 0x96, 0x79, - 0xdf, 0x0c, 0xa8, 0xa5, 0x9b, 0xf6, 0x2f, 0x32, 0xd4, 0x99, 0xe9, 0x7b, 0x3f, 0x8b, 0x77, 0x85, - 0xfa, 0x31, 0x54, 0x10, 0x74, 0xf2, 0x5d, 0x14, 0x14, 0x4e, 0xad, 0xc0, 0xfe, 0x4a, 0xc7, 0x2c, - 0x14, 0x59, 0x16, 0x62, 0x92, 0xa8, 0xb1, 0x7b, 0xfc, 0x53, 0xb8, 0x8f, 0xd6, 0xfb, 0xd3, 0xa1, - 0x8e, 0x2e, 0x08, 0x8f, 0xc8, 0xa7, 0x50, 0xc3, 0x3d, 0x09, 0x07, 0x09, 0x2e, 0x1d, 0x28, 0xd7, - 0x4a, 0xc2, 0x20, 0x66, 0xe5, 0x38, 0x16, 0x10, 0xb3, 0x36, 0x51, 0x68, 0xfe, 0x06, 0x0e, 0xb3, - 0x97, 0x39, 0x31, 0x51, 0xb3, 0xc3, 0x2d, 0x41, 0x81, 0x4a, 0xe9, 0x08, 0xfd, 0x55, 0x82, 0x6a, - 0xcc, 0xc7, 0x4c, 0x7b, 0x9b, 0x15, 0x8b, 0x35, 0xb3, 0x55, 0x34, 0x13, 0x9a, 0xfc, 0x08, 0x6a, - 0xac, 0x03, 0x2c, 0xac, 0x66, 0x99, 0x5d, 0x6e, 0x19, 0xa8, 0x89, 0x9e, 0x59, 0xdb, 0x52, 0x4f, - 0x68, 0xac, 0xcc, 0xc5, 0x66, 0xb5, 0x71, 0xed, 0xc8, 0xb9, 0xa1, 0x4c, 0xa2, 0xc4, 0x24, 0x76, - 0xb8, 0x68, 0x03, 0x2b, 0x99, 0x49, 0x94, 0xb9, 0x8d, 0x98, 0x56, 0x7b, 0x1c, 0x25, 0x42, 0x49, - 0x6a, 0x4a, 0xe2, 0xd5, 0xcf, 0x6a, 0x8a, 0x40, 0x09, 0x17, 0x16, 0x51, 0x01, 0xec, 0x9c, 0x69, - 0xbd, 0x92, 0x68, 0xbd, 0x0e, 0xb7, 0x83, 0xe1, 0xdb, 0x26, 0x4a, 0xbe, 0x3b, 0x51, 0x71, 0xa7, - 0x49, 0xdb, 0x4e, 0x53, 0x6f, 0xe0, 0x68, 0x40, 0x6f, 0xdf, 0x71, 0x78, 0x0e, 0xac, 0xbb, 0x3a, - 0xf8, 0x5b, 0x78, 0x5b, 0x00, 0xeb, 0xc0, 0xb9, 0xb1, 0x23, 0x3a, 0xa0, 0xb7, 0xa2, 0xaa, 0x52, - 0x1c, 0x5c, 0x9c, 0x94, 0xed, 0xc3, 0xf7, 0x8e, 0xb8, 0x3b, 0x5e, 0xce, 0xbe, 0x22, 0xef, 0xbe, - 0x82, 0x59, 0xb8, 0xa6, 0xb7, 0x63, 0xb6, 0x0a, 0xf2, 0x89, 0x9d, 0xd0, 0x58, 0x66, 0xaf, 0xec, - 0x50, 0xac, 0x4e, 0x78, 0x54, 0x3f, 0x80, 0xc3, 0x29, 0xb6, 0x7a, 0x98, 0x2c, 0x42, 0xf1, 0xb4, - 0x97, 0xb6, 0xd3, 0x5e, 0xfd, 0x9f, 0x04, 0x47, 0x89, 0x98, 0x00, 0xfe, 0x2c, 0x59, 0x18, 0x24, - 0x16, 0xfe, 0x1f, 0xb3, 0x95, 0x31, 0x2b, 0x94, 0xbb, 0x2f, 0x3c, 0x83, 0x0a, 0x0d, 0x02, 0x3f, - 0x88, 0xf3, 0x96, 0xab, 0x68, 0x30, 0x09, 0xa1, 0xc8, 0xc5, 0x9b, 0x9f, 0xdc, 0xb7, 0x10, 0xdc, - 0xbd, 0x4b, 0x7c, 0x02, 0xf5, 0x94, 0xc5, 0xf7, 0x19, 0x41, 0xa7, 0xcf, 0xf9, 0x3f, 0x0f, 0x4f, - 0x05, 0xa9, 0x41, 0xb9, 0x3b, 0x9c, 0x58, 0x86, 0x52, 0x20, 0x75, 0xd8, 0xeb, 0x4d, 0xcc, 0x2f, - 0x34, 0x53, 0x57, 0x24, 0x02, 0x50, 0x19, 0xf6, 0xad, 0x99, 0x31, 0x56, 0x64, 0x52, 0x01, 0x79, - 0x68, 0x29, 0xc5, 0xd3, 0x0b, 0x38, 0xda, 0xd9, 0xda, 0xc8, 0x21, 0x40, 0x77, 0x34, 0x47, 0xae, - 0xd1, 0x9d, 0x29, 0x05, 0xf2, 0x00, 0x0e, 0xba, 0xa3, 0xb9, 0xde, 0xb7, 0x62, 0x96, 0x44, 0x0e, - 0xa0, 0xd6, 0x1d, 0xcd, 0xad, 0x99, 0x36, 0xbb, 0xb0, 0x14, 0x99, 0x28, 0xb0, 0xdf, 0x1d, 0xcd, - 0xcf, 0x8d, 0xd9, 0x7c, 0x6a, 0x18, 0x26, 0x9a, 0x3d, 0x83, 0x83, 0xcc, 0x4a, 0x81, 0x1a, 0xc6, - 0x8b, 0xb9, 0x31, 0xd6, 0x3a, 0x43, 0xc4, 0x75, 0x08, 0x60, 0xbc, 0x40, 0x9b, 0x8c, 0x96, 0x4e, - 0x7f, 0x8d, 0x74, 0xbc, 0x4b, 0x90, 0x7d, 0xa8, 0xf6, 0x75, 0x63, 0x3c, 0xeb, 0xf7, 0x5e, 0x2a, - 0x05, 0x84, 0x3d, 0xbd, 0xe8, 0x58, 0x17, 0x1d, 0xfe, 0x30, 0x03, 0xf2, 0xb9, 0x61, 0xbe, 0x54, - 0x64, 0x52, 0x85, 0xd2, 0x48, 0x1f, 0xe3, 0x83, 0xff, 0x90, 0xa0, 0xd6, 0x49, 0xbf, 0xd6, 0xb1, - 0xe6, 0xba, 0x31, 0x34, 0x66, 0x06, 0xb7, 0xd0, 0xb1, 0xe6, 0xd3, 0x0b, 0x84, 0x7e, 0x04, 0x75, - 0x7e, 0x9e, 0x8f, 0xb4, 0x31, 0xda, 0xe0, 0x97, 0xe7, 0xc6, 0x4c, 0x29, 0x8a, 0x4b, 0x74, 0x84, - 0x5d, 0x96, 0x10, 0xa7, 0x60, 0x68, 0xc3, 0xa1, 0x52, 0x46, 0x4f, 0x05, 0x8d, 0xce, 0x5b, 0x4a, - 0x45, 0xa8, 0x7f, 0xa6, 0x59, 0xca, 0x1e, 0x69, 0xc2, 0x63, 0x7e, 0xfe, 0x6c, 0x3e, 0x19, 0xcf, - 0x4d, 0x43, 0xd3, 0x63, 0x8f, 0xab, 0xe4, 0x87, 0xf0, 0xfd, 0xdd, 0xbb, 0xd8, 0xfd, 0xda, 0xe9, - 0x87, 0x02, 0x3c, 0xee, 0x34, 0x98, 0x33, 0xdd, 0xe8, 0x69, 0x17, 0x43, 0x0c, 0xfe, 0x3e, 0x54, - 0x3b, 0xd6, 0xbc, 0x37, 0x31, 0xbb, 0x18, 0x26, 0x17, 0x60, 0xfb, 0x0d, 0x61, 0x82, 0xda, 0x39, - 0xf3, 0xab, 0x10, 0x13, 0xe8, 0x87, 0x84, 0x30, 0x91, 0x18, 0x1b, 0x5f, 0xcc, 0xc7, 0x13, 0xdd, - 0x50, 0x64, 0x4c, 0x22, 0x72, 0x34, 0x5d, 0x9f, 0x0f, 0xfb, 0xe3, 0x81, 0xa5, 0x14, 0x63, 0x16, - 0x3a, 0xc3, 0x59, 0x25, 0x7c, 0x0d, 0x59, 0xe8, 0x9b, 0x52, 0x3e, 0x1d, 0x40, 0x2d, 0xe9, 0x6f, - 0xf4, 0x73, 0xc0, 0xfd, 0x2c, 0x88, 0x33, 0x7f, 0x8a, 0x9f, 0x11, 0x83, 0x8c, 0x61, 0x1f, 0x24, - 0x61, 0x2f, 0x22, 0xa4, 0x81, 0x35, 0xc7, 0x92, 0x53, 0x4a, 0xed, 0xbf, 0x17, 0x61, 0x0f, 0x27, - 0xa2, 0x36, 0xed, 0x93, 0x67, 0x50, 0x8d, 0xd7, 0x5c, 0xf2, 0x30, 0xbb, 0xc3, 0xb3, 0xfe, 0x6e, - 0x3e, 0xca, 0x5b, 0xec, 0xd5, 0x02, 0x39, 0x81, 0x0a, 0xdf, 0x68, 0x09, 0xdf, 0x5a, 0xd3, 0xdb, - 0x6d, 0x93, 0xed, 0x51, 0xc6, 0x6a, 0x1d, 0xdd, 0x32, 0xc9, 0xe2, 0xb4, 0x3d, 0x25, 0xc9, 0xdf, - 0xa8, 0x90, 0x39, 0x4a, 0xe8, 0xc4, 0xe6, 0xaf, 0x00, 0xb6, 0x5b, 0x1d, 0xf9, 0x5e, 0xb2, 0x8c, - 0xa5, 0x67, 0x6f, 0xf3, 0xf1, 0x2e, 0x3b, 0x51, 0x3f, 0x07, 0x65, 0xcb, 0xb7, 0xd8, 0x2f, 0xe8, - 0x7b, 0x1b, 0x39, 0x91, 0x9e, 0x4a, 0x88, 0x58, 0xb7, 0xaf, 0x38, 0xe2, 0xed, 0xa6, 0xc2, 0x11, - 0xa7, 0x3e, 0xd9, 0x6a, 0x01, 0xc3, 0x17, 0x8f, 0x68, 0x1e, 0xbe, 0x9d, 0x2f, 0x05, 0x0f, 0xdf, - 0xee, 0x14, 0x57, 0x0b, 0xe4, 0x63, 0xd8, 0x13, 0x33, 0x8c, 0x90, 0xcc, 0x40, 0xe3, 0x6a, 0x0f, - 0x73, 0x86, 0x9c, 0x5a, 0xe8, 0x34, 0xfe, 0xf9, 0xa6, 0x25, 0x7d, 0xfd, 0xa6, 0x25, 0xfd, 0xfb, - 0x4d, 0x4b, 0xfa, 0xd3, 0xdb, 0x56, 0xe1, 0xeb, 0xb7, 0xad, 0xc2, 0x37, 0x6f, 0x5b, 0x85, 0xcb, - 0x0a, 0xfb, 0x83, 0xfe, 0xe8, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x83, 0x57, 0x74, 0x90, + // 1795 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x8e, 0xdb, 0xc8, + 0x11, 0x16, 0xa9, 0x9f, 0x11, 0x4b, 0xf3, 0x43, 0xb7, 0x1d, 0x47, 0x51, 0x02, 0x65, 0xc2, 0x04, + 0x9b, 0xc1, 0x20, 0x18, 0x1b, 0xda, 0x0d, 0xec, 0x5d, 0x6c, 0x10, 0x50, 0x22, 0x67, 0x56, 0x19, + 0xfd, 0x85, 0xd4, 0x78, 0xed, 0x93, 0xc0, 0x91, 0x7a, 0xc7, 0x8c, 0x29, 0x52, 0x4b, 0x52, 0xb3, + 0x19, 0x23, 0xa7, 0x3c, 0x41, 0xf2, 0x0e, 0x39, 0xe4, 0x05, 0x82, 0x1c, 0xf2, 0x02, 0x39, 0xee, + 0x71, 0x8f, 0x81, 0x7d, 0xc8, 0x29, 0x0f, 0x90, 0x43, 0x80, 0xa0, 0xba, 0x9b, 0x14, 0xa9, 0xe5, + 0x60, 0xec, 0xbd, 0x75, 0x55, 0x57, 0x75, 0x57, 0xd5, 0x57, 0x55, 0x5d, 0x0d, 0xe0, 0x07, 0x0b, + 0x7a, 0xb2, 0x0a, 0x83, 0x38, 0x20, 0xf2, 0xea, 0xb2, 0x05, 0xeb, 0xd8, 0xf5, 0x38, 0xad, 0x7d, + 0x23, 0x03, 0x4c, 0x3a, 0x13, 0x8b, 0x7e, 0xb9, 0xa6, 0x51, 0x4c, 0x1e, 0x43, 0x23, 0xe4, 0xcb, + 0xe9, 0xcd, 0x8a, 0x36, 0xa5, 0x43, 0xe9, 0x68, 0xbf, 0xb3, 0x7f, 0xb2, 0xba, 0x3c, 0x41, 0x21, + 0xf3, 0xb7, 0xd3, 0x17, 0x13, 0xd3, 0xca, 0x8a, 0x10, 0x15, 0xca, 0x8e, 0xe7, 0x35, 0xe5, 0x43, + 0xe9, 0xa8, 0x6e, 0xe1, 0x92, 0x34, 0x61, 0xe7, 0x9a, 0x86, 0x97, 0x41, 0x44, 0x9b, 0x65, 0xc6, + 0x4d, 0x48, 0xa2, 0xc1, 0x2e, 0xbb, 0x75, 0x1e, 0x78, 0x23, 0x67, 0x49, 0x9b, 0x95, 0x43, 0xe9, + 0x48, 0xb1, 0x72, 0x3c, 0xf2, 0x33, 0xd8, 0xf3, 0xdc, 0x28, 0xa6, 0xbe, 0xbe, 0x58, 0x84, 0x34, + 0x8a, 0x9a, 0x55, 0x26, 0x94, 0x67, 0xa2, 0x54, 0xec, 0x84, 0x57, 0x34, 0x4e, 0xa4, 0x6a, 0x5c, + 0x2a, 0xc7, 0x44, 0xa9, 0x90, 0x2e, 0x83, 0x98, 0x26, 0x52, 0x3b, 0x5c, 0x2a, 0xc7, 0x24, 0x1d, + 0x78, 0xe0, 0x78, 0x5e, 0xf0, 0x55, 0x6f, 0x1d, 0xc5, 0xc1, 0x72, 0x22, 0x8c, 0x89, 0x9a, 0x75, + 0x66, 0x7c, 0xe1, 0x1e, 0x7a, 0x12, 0xd2, 0x55, 0x10, 0xc6, 0x13, 0x4a, 0xc3, 0xbe, 0xd1, 0x54, + 0x98, 0x6c, 0x8e, 0xa7, 0xfd, 0x55, 0x82, 0x06, 0x0b, 0x6d, 0xb4, 0x0a, 0xfc, 0x88, 0x7e, 0x87, + 0xd8, 0x3e, 0x80, 0xaa, 0xef, 0x2c, 0x69, 0xd4, 0x94, 0x0f, 0xcb, 0x47, 0x8a, 0xc5, 0x09, 0x72, + 0x08, 0x8d, 0x79, 0xe0, 0xfb, 0x51, 0xcf, 0x0b, 0x22, 0xba, 0x60, 0x31, 0xae, 0x5a, 0x59, 0x16, + 0x79, 0x04, 0x8d, 0x28, 0x0e, 0xa9, 0xb3, 0xec, 0xfb, 0x5f, 0x04, 0x51, 0xb3, 0x72, 0x58, 0x3e, + 0x6a, 0x74, 0xf6, 0xc4, 0x4d, 0x83, 0x08, 0xb9, 0x56, 0x56, 0x42, 0xfb, 0xb3, 0x04, 0x4a, 0xba, + 0xf5, 0x2d, 0x98, 0xa4, 0x77, 0x81, 0x49, 0x7e, 0x27, 0x98, 0xca, 0x45, 0x30, 0x3d, 0x80, 0xaa, + 0x17, 0xcc, 0x1d, 0x8f, 0xe5, 0x43, 0xdd, 0xe2, 0x84, 0xf6, 0x0b, 0x50, 0xcf, 0x28, 0x8b, 0x65, + 0x94, 0x86, 0xb0, 0x09, 0x3b, 0x2b, 0x16, 0xdc, 0xa8, 0x29, 0xb1, 0x90, 0x24, 0xa4, 0xf6, 0x47, + 0x09, 0x0e, 0x7a, 0x81, 0xef, 0x0f, 0xaf, 0x96, 0x71, 0x92, 0xcc, 0xbf, 0x2c, 0x0a, 0xf8, 0x7d, + 0x0c, 0x43, 0x6f, 0x3c, 0x1a, 0x0d, 0xcf, 0x86, 0xd3, 0xc2, 0xa8, 0xb7, 0x01, 0x96, 0x6b, 0x2f, + 0x76, 0xd1, 0xbc, 0x24, 0xf4, 0x19, 0x4e, 0xd6, 0x88, 0x72, 0xde, 0x88, 0xff, 0xc8, 0xa0, 0x6e, + 0x8c, 0x10, 0x36, 0x7f, 0x47, 0x2b, 0x74, 0x50, 0x10, 0x52, 0x3a, 0x8f, 0xe9, 0x82, 0x19, 0xd1, + 0xe8, 0xfc, 0x94, 0x29, 0x6d, 0x9d, 0xcf, 0x18, 0x4c, 0xca, 0xf4, 0xe3, 0xf0, 0xc6, 0xda, 0x68, + 0x91, 0xa7, 0x50, 0x8b, 0x62, 0x27, 0x5e, 0x73, 0x3b, 0x1b, 0x9d, 0xc3, 0x42, 0x7d, 0x9b, 0x89, + 0x70, 0x65, 0x21, 0x9f, 0x75, 0xb1, 0x92, 0x73, 0xb1, 0xf5, 0x29, 0xec, 0xe7, 0x2f, 0xc4, 0x06, + 0xf0, 0x8a, 0xde, 0x88, 0x24, 0xc1, 0x25, 0xe2, 0x79, 0xed, 0x78, 0x6b, 0x2a, 0x9a, 0x02, 0x27, + 0x3e, 0x91, 0x9f, 0x4a, 0xad, 0x21, 0x34, 0x32, 0xd7, 0x15, 0xa8, 0x1e, 0x65, 0x55, 0x1b, 0x1d, + 0x92, 0xb5, 0x98, 0x6b, 0x66, 0x8e, 0xd3, 0x06, 0xdc, 0x98, 0xcd, 0x26, 0xa6, 0xee, 0xc2, 0x8d, + 0x36, 0x81, 0x93, 0x78, 0x5d, 0x66, 0x79, 0xe4, 0x21, 0xd4, 0x42, 0xea, 0x44, 0x81, 0x2f, 0x72, + 0x56, 0x50, 0xda, 0x6b, 0xd8, 0x33, 0x7f, 0x1f, 0x87, 0x4e, 0x94, 0xe4, 0xcf, 0x87, 0x45, 0xc8, + 0xdd, 0x43, 0x93, 0xcc, 0xe7, 0x53, 0x4b, 0xb7, 0x0b, 0x71, 0xfb, 0x08, 0xf6, 0x28, 0x3b, 0xe5, + 0x94, 0x3a, 0xf1, 0x3a, 0xe4, 0x9e, 0x88, 0x3a, 0xe7, 0x6a, 0x4c, 0x27, 0x2f, 0xa4, 0xfd, 0x5b, + 0x82, 0x7b, 0x5d, 0x2f, 0x98, 0xbf, 0x8a, 0xe2, 0x20, 0xa4, 0x89, 0x01, 0x8f, 0x8a, 0x0c, 0x60, + 0x75, 0xdc, 0x2d, 0xbe, 0xfc, 0xe7, 0xb0, 0x13, 0xd2, 0x2f, 0xc7, 0xab, 0x98, 0xe7, 0x6d, 0x56, + 0x78, 0x3c, 0x99, 0xda, 0x56, 0xb2, 0x4b, 0x08, 0x54, 0xe6, 0xee, 0x22, 0x49, 0x60, 0xb6, 0x46, + 0xde, 0xc2, 0x89, 0x1d, 0x86, 0xf8, 0xae, 0xc5, 0xd6, 0x58, 0x0b, 0x73, 0x77, 0xf1, 0x8c, 0x86, + 0x91, 0x1b, 0xf8, 0xa2, 0x15, 0x67, 0x38, 0xa4, 0x05, 0xf5, 0x97, 0x4e, 0xf4, 0xf2, 0x74, 0xed, + 0xcf, 0x45, 0x73, 0x4d, 0x69, 0x4c, 0x83, 0x90, 0x7e, 0xd1, 0x5f, 0xb0, 0x46, 0xaa, 0x58, 0x9c, + 0xd0, 0x5e, 0x02, 0xc9, 0x3a, 0x2a, 0x8a, 0xe4, 0xbd, 0x3d, 0xfd, 0x09, 0xd4, 0x2e, 0xd9, 0x31, + 0xa2, 0x36, 0x14, 0x26, 0x8b, 0x1c, 0x4b, 0x6c, 0x68, 0x3a, 0x54, 0x19, 0x03, 0xd3, 0x6c, 0xee, + 0x2e, 0x92, 0x34, 0x9b, 0xbb, 0x8b, 0xd4, 0x55, 0xc4, 0x26, 0x71, 0x95, 0x40, 0x25, 0x72, 0x5f, + 0xf3, 0x37, 0xab, 0x6c, 0xb1, 0xb5, 0xf6, 0x3f, 0x19, 0xc0, 0x70, 0xae, 0xee, 0x7e, 0x1d, 0x0d, + 0xfd, 0xac, 0xd0, 0xcc, 0xa2, 0x8b, 0x3e, 0x80, 0xfd, 0xe0, 0xf2, 0x77, 0x74, 0x1e, 0x9b, 0xfe, + 0x3c, 0x58, 0xb8, 0xfe, 0x95, 0xe8, 0x8a, 0x5b, 0x5c, 0xf2, 0x18, 0xee, 0x47, 0x34, 0x74, 0x1d, + 0xcf, 0x7d, 0xed, 0xc4, 0x6e, 0xe0, 0x9f, 0x06, 0xe1, 0xd2, 0x89, 0xc5, 0xa3, 0x59, 0xb4, 0x95, + 0x43, 0xa3, 0xba, 0x85, 0x46, 0x1e, 0xc9, 0x1a, 0x73, 0x32, 0x8b, 0x24, 0x81, 0x0a, 0xca, 0x0a, + 0x14, 0xd9, 0x9a, 0x3c, 0x82, 0xaa, 0xe7, 0xfa, 0xaf, 0xf0, 0x29, 0xc4, 0x18, 0xff, 0x80, 0x79, + 0x9a, 0x86, 0xe3, 0x64, 0x80, 0x7b, 0xbc, 0x71, 0x70, 0xb9, 0x0d, 0xe4, 0x4a, 0x06, 0xf2, 0xd6, + 0x53, 0x80, 0x8d, 0xe8, 0x5d, 0xfd, 0x42, 0xc9, 0x16, 0xf8, 0xdf, 0x64, 0x68, 0xb0, 0x0b, 0xef, + 0x7c, 0x42, 0x6f, 0x03, 0xe0, 0x21, 0xd4, 0xd0, 0x95, 0xf4, 0x0d, 0x15, 0x14, 0x76, 0xb8, 0xd0, + 0xf9, 0xca, 0x40, 0x6c, 0xca, 0x0c, 0x9b, 0x84, 0x24, 0x5a, 0xe2, 0x34, 0x7f, 0x36, 0x77, 0xf1, + 0xf4, 0xfe, 0x64, 0x60, 0xa0, 0x0b, 0x89, 0x9f, 0x9f, 0x82, 0x82, 0x33, 0x15, 0x36, 0x1d, 0x1c, + 0x50, 0x50, 0xae, 0x9d, 0x06, 0x47, 0xf4, 0xd5, 0x51, 0x22, 0x20, 0xfa, 0x72, 0xaa, 0x80, 0xfe, + 0xce, 0x83, 0xb5, 0x1f, 0x33, 0x14, 0x2a, 0x16, 0x27, 0x5a, 0xbf, 0x81, 0xfd, 0xbc, 0x4a, 0x41, + 0xa4, 0xb4, 0x7c, 0x7b, 0x4c, 0x6d, 0x43, 0xa5, 0x6c, 0xdc, 0xfe, 0x22, 0x41, 0x3d, 0xe1, 0x63, + 0x56, 0xf8, 0xeb, 0x25, 0x43, 0x80, 0x9d, 0x55, 0xb6, 0x52, 0x9a, 0xfc, 0x08, 0x14, 0x56, 0x2d, + 0x36, 0x66, 0xbe, 0xcc, 0x36, 0x37, 0x0c, 0xd4, 0x44, 0x7f, 0xed, 0x4d, 0x59, 0xa4, 0x34, 0x66, + 0xf1, 0x7c, 0xbd, 0x5c, 0x7b, 0x4e, 0xec, 0x5e, 0x53, 0x26, 0x51, 0x61, 0x12, 0x5b, 0x5c, 0x3c, + 0x03, 0xb3, 0x9e, 0x49, 0x54, 0xf9, 0x19, 0x09, 0xad, 0x9d, 0x72, 0x2b, 0xd1, 0x94, 0x34, 0xff, + 0x24, 0x5e, 0x29, 0x2c, 0xff, 0x08, 0x54, 0x70, 0xe4, 0x11, 0x79, 0xc1, 0xd6, 0xb9, 0x32, 0xad, + 0x88, 0x32, 0xed, 0xf2, 0x73, 0x30, 0x7c, 0x1b, 0xf8, 0xe4, 0xdb, 0xe1, 0x4b, 0xaa, 0x52, 0xda, + 0x54, 0xa5, 0x76, 0x0d, 0x07, 0xe7, 0xf4, 0xe6, 0x1d, 0xdb, 0xef, 0xb9, 0x7d, 0x5b, 0xb5, 0x7f, + 0xcb, 0xde, 0x36, 0xc0, 0x2a, 0x74, 0xaf, 0x9d, 0x98, 0x9e, 0xd3, 0x1b, 0x91, 0x6b, 0x19, 0x0e, + 0x8e, 0x5e, 0xea, 0xe6, 0xe2, 0x3b, 0xdb, 0xe1, 0x2d, 0x37, 0xe7, 0x6f, 0x91, 0xb7, 0x6f, 0x41, + 0x14, 0x5e, 0xd1, 0x9b, 0x11, 0x1b, 0x26, 0x79, 0xcf, 0x4f, 0x69, 0x4c, 0xb3, 0x97, 0x4e, 0x24, + 0x86, 0x2f, 0x5c, 0x6a, 0x9f, 0xc0, 0xfe, 0x04, 0xdb, 0x42, 0x94, 0x8e, 0x52, 0xc9, 0x7b, 0x21, + 0x65, 0xde, 0x8b, 0xb4, 0xd8, 0xe5, 0x6c, 0x7f, 0xff, 0xaf, 0x04, 0x07, 0xa9, 0xb2, 0x70, 0xe7, + 0x49, 0x3a, 0x88, 0x48, 0x0c, 0x94, 0x1f, 0xb3, 0x51, 0x34, 0x2f, 0x54, 0x38, 0x87, 0x3c, 0x81, + 0x1a, 0x0d, 0xc3, 0x20, 0x4c, 0xd0, 0x2c, 0x54, 0x34, 0x99, 0x84, 0x50, 0xe4, 0xe2, 0xad, 0x8f, + 0xef, 0x1a, 0x34, 0x6e, 0x9f, 0x51, 0x3e, 0x86, 0x46, 0xe6, 0xc4, 0xf7, 0x69, 0x57, 0xc7, 0x4f, + 0xf9, 0x5f, 0x8a, 0x03, 0x44, 0x14, 0xa8, 0xf6, 0x06, 0x63, 0xdb, 0x54, 0x4b, 0xa4, 0x01, 0x3b, + 0xa7, 0x63, 0xeb, 0x73, 0xdd, 0x32, 0x54, 0x89, 0x00, 0xd4, 0x06, 0x7d, 0x7b, 0x6a, 0x8e, 0x54, + 0x99, 0xd4, 0x40, 0x1e, 0xd8, 0x6a, 0xf9, 0xf8, 0x02, 0x0e, 0xb6, 0xa6, 0x41, 0xb2, 0x0f, 0xd0, + 0x1b, 0xce, 0x90, 0x6b, 0xf6, 0xa6, 0x6a, 0x89, 0xdc, 0x83, 0xbd, 0xde, 0x70, 0x66, 0xf4, 0xed, + 0x84, 0x25, 0x91, 0x3d, 0x50, 0x7a, 0xc3, 0x99, 0x3d, 0xd5, 0xa7, 0x17, 0xb6, 0x2a, 0x13, 0x15, + 0x76, 0x7b, 0xc3, 0xd9, 0x99, 0x39, 0x9d, 0x4d, 0x4c, 0xd3, 0xc2, 0x63, 0x4f, 0x60, 0x2f, 0x37, + 0xaa, 0xa0, 0x86, 0xf9, 0x7c, 0x66, 0x8e, 0xf4, 0xee, 0x00, 0xed, 0xda, 0x07, 0x30, 0x9f, 0xe3, + 0x99, 0x8c, 0x96, 0x8e, 0x7f, 0x8d, 0x74, 0x32, 0xa3, 0x90, 0x5d, 0xa8, 0xf7, 0x0d, 0x73, 0x34, + 0xed, 0x9f, 0xbe, 0x50, 0x4b, 0x68, 0xf6, 0xe4, 0xa2, 0x6b, 0x5f, 0x74, 0xf9, 0xc5, 0xcc, 0x90, + 0x67, 0xa6, 0xf5, 0x42, 0x95, 0x49, 0x1d, 0x2a, 0x43, 0x63, 0x84, 0x17, 0xfe, 0x43, 0x02, 0xa5, + 0x9b, 0xbd, 0xad, 0x6b, 0xcf, 0x0c, 0x73, 0x60, 0x4e, 0x4d, 0x7e, 0x42, 0xd7, 0x9e, 0x4d, 0x2e, + 0xd0, 0xf4, 0x03, 0x68, 0xf0, 0xf5, 0x6c, 0xa8, 0x8f, 0xf0, 0x0c, 0xbe, 0x79, 0x66, 0x4e, 0xd5, + 0xb2, 0xd8, 0x44, 0x47, 0xd8, 0x66, 0x05, 0xed, 0x14, 0x0c, 0x7d, 0x30, 0x50, 0xab, 0xe8, 0xa9, + 0xa0, 0xd1, 0x79, 0x5b, 0xad, 0x09, 0xf5, 0xcf, 0x74, 0x5b, 0xdd, 0x21, 0x2d, 0x78, 0xc8, 0xd7, + 0x9f, 0xcd, 0xc6, 0xa3, 0x99, 0x65, 0xea, 0x46, 0xe2, 0x71, 0x9d, 0xfc, 0x10, 0xbe, 0xbf, 0xbd, + 0x97, 0xb8, 0xaf, 0x1c, 0x7f, 0x20, 0x8c, 0xc7, 0x59, 0x09, 0x31, 0x33, 0xcc, 0x53, 0xfd, 0x62, + 0x80, 0xc1, 0xdf, 0x85, 0x7a, 0xd7, 0x9e, 0x9d, 0x8e, 0xad, 0x1e, 0x86, 0xe9, 0x0f, 0x00, 0x9b, + 0xf7, 0x86, 0x09, 0xea, 0x67, 0xcc, 0xaf, 0x52, 0x42, 0xa0, 0x1f, 0x12, 0x9a, 0x89, 0xc4, 0xc8, + 0xfc, 0x7c, 0x36, 0x1a, 0x1b, 0xa6, 0x2a, 0x23, 0x88, 0xc8, 0xd1, 0x0d, 0x63, 0x36, 0xe8, 0x8f, + 0xce, 0x6d, 0xb5, 0x9c, 0xb0, 0xd0, 0x19, 0xce, 0xaa, 0xe0, 0x6d, 0xc8, 0x42, 0xdf, 0xd4, 0x2a, + 0x3a, 0x8f, 0x94, 0x65, 0x0e, 0xc7, 0xcf, 0x4c, 0xb5, 0x76, 0x7c, 0x0e, 0x4a, 0xda, 0x05, 0xd0, + 0xef, 0x73, 0xee, 0x77, 0x49, 0xac, 0xf9, 0xd5, 0x7c, 0x8d, 0x36, 0xc9, 0x08, 0xc3, 0x79, 0x0a, + 0x43, 0x19, 0x4d, 0x3c, 0xb7, 0x67, 0x98, 0x82, 0x6a, 0xa5, 0xf3, 0xf7, 0x32, 0xec, 0x60, 0xdf, + 0xd4, 0x27, 0x7d, 0xf2, 0x04, 0xea, 0xc9, 0x38, 0x4d, 0xee, 0xe7, 0xff, 0x0a, 0xac, 0x0b, 0xb4, + 0x1e, 0x14, 0x7d, 0x20, 0xb4, 0x12, 0x39, 0x82, 0x1a, 0x9f, 0x9c, 0x09, 0x9f, 0x8e, 0xb3, 0x53, + 0x74, 0x8b, 0x4d, 0x66, 0xe6, 0x72, 0x15, 0xdf, 0x30, 0xc9, 0xf2, 0xa4, 0x33, 0x21, 0xe9, 0xaf, + 0x57, 0xc8, 0x1c, 0xa4, 0x74, 0x7a, 0xe6, 0xaf, 0x00, 0x36, 0x73, 0x22, 0xf9, 0x5e, 0x3a, 0xde, + 0x65, 0x3b, 0x74, 0xeb, 0xe1, 0x36, 0x3b, 0x55, 0x3f, 0x03, 0x75, 0xc3, 0xb7, 0xd9, 0x57, 0xf7, + 0xbd, 0x0f, 0x39, 0x92, 0x1e, 0x4b, 0x68, 0xb1, 0xe1, 0x5c, 0x71, 0x8b, 0x37, 0xb3, 0x0f, 0xb7, + 0x38, 0xf3, 0xdc, 0x6b, 0x25, 0x0c, 0x5f, 0xd2, 0xc8, 0x79, 0xf8, 0xb6, 0xde, 0x13, 0x1e, 0xbe, + 0xed, 0x5e, 0xaf, 0x95, 0xc8, 0x47, 0xb0, 0x23, 0x7a, 0x1a, 0x21, 0xb9, 0x06, 0xc7, 0xd5, 0xee, + 0x17, 0x34, 0x3d, 0xad, 0xd4, 0x6d, 0xfe, 0xf3, 0x4d, 0x5b, 0xfa, 0xfa, 0x4d, 0x5b, 0xfa, 0xd7, + 0x9b, 0xb6, 0xf4, 0xa7, 0xb7, 0xed, 0xd2, 0xd7, 0x6f, 0xdb, 0xa5, 0x6f, 0xde, 0xb6, 0x4b, 0x97, + 0x35, 0xf6, 0x53, 0xff, 0xf0, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb9, 0xf0, 0xa2, 0xf8, 0xf8, 0x11, 0x00, 0x00, } @@ -2762,6 +2809,13 @@ func (m *BlockstoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.RefId) > 0 { + i -= len(m.RefId) + copy(dAtA[i:], m.RefId) + i = encodeVarintNode(dAtA, i, uint64(len(m.RefId))) + i-- + dAtA[i] = 0x42 + } if len(m.HashFunc) > 0 { i -= len(m.HashFunc) copy(dAtA[i:], m.HashFunc) @@ -2924,6 +2978,13 @@ func (m *DagRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.RefId) > 0 { + i -= len(m.RefId) + copy(dAtA[i:], m.RefId) + i = encodeVarintNode(dAtA, i, uint64(len(m.RefId))) + i-- + dAtA[i] = 0x4a + } if len(m.Links) > 0 { for k := range m.Links { v := m.Links[k] @@ -3011,6 +3072,11 @@ func (m *DagResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Count != 0 { + i = encodeVarintNode(dAtA, i, uint64(m.Count)) + i-- + dAtA[i] = 0x30 + } if len(m.NodeStats) > 0 { for k := range m.NodeStats { v := m.NodeStats[k] @@ -3325,6 +3391,13 @@ func (m *PersistRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.RefId) > 0 { + i -= len(m.RefId) + copy(dAtA[i:], m.RefId) + i = encodeVarintNode(dAtA, i, uint64(len(m.RefId))) + i-- + dAtA[i] = 0x12 + } if len(m.Cids) > 0 { for iNdEx := len(m.Cids) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Cids[iNdEx]) @@ -3648,6 +3721,10 @@ func (m *BlockstoreRequest) Size() (n int) { if l > 0 { n += 1 + l + sovNode(uint64(l)) } + l = len(m.RefId) + if l > 0 { + n += 1 + l + sovNode(uint64(l)) + } return n } @@ -3729,6 +3806,10 @@ func (m *DagRequest) Size() (n int) { n += mapEntrySize + 1 + sovNode(uint64(mapEntrySize)) } } + l = len(m.RefId) + if l > 0 { + n += 1 + l + sovNode(uint64(l)) + } return n } @@ -3770,6 +3851,9 @@ func (m *DagResponse) Size() (n int) { n += mapEntrySize + 1 + sovNode(uint64(mapEntrySize)) } } + if m.Count != 0 { + n += 1 + sovNode(uint64(m.Count)) + } return n } @@ -3893,6 +3977,10 @@ func (m *PersistRequest) Size() (n int) { n += 1 + l + sovNode(uint64(l)) } } + l = len(m.RefId) + if l > 0 { + n += 1 + l + sovNode(uint64(l)) + } return n } @@ -5543,6 +5631,38 @@ func (m *BlockstoreRequest) Unmarshal(dAtA []byte) error { } m.HashFunc = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthNode + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNode + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RefId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) @@ -6167,6 +6287,38 @@ func (m *DagRequest) Unmarshal(dAtA []byte) error { } m.Links[mapkey] = mapvalue iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthNode + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNode + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RefId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) @@ -6468,6 +6620,25 @@ func (m *DagResponse) Unmarshal(dAtA []byte) error { } m.NodeStats[mapkey] = mapvalue iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Count", wireType) + } + m.Count = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Count |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) @@ -7256,6 +7427,38 @@ func (m *PersistRequest) Unmarshal(dAtA []byte) error { } m.Cids = append(m.Cids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthNode + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNode + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RefId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) diff --git a/go/pubsub.pb.go b/go/pubsub.pb.go index 0a402e2..ea36491 100644 --- a/go/pubsub.pb.go +++ b/go/pubsub.pb.go @@ -6,14 +6,13 @@ package pb import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/go/replication.pb.go b/go/replication.pb.go index f827aa1..94554e8 100644 --- a/go/replication.pb.go +++ b/go/replication.pb.go @@ -6,14 +6,13 @@ package pb import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/go/status.pb.go b/go/status.pb.go index ebe0daf..793e127 100644 --- a/go/status.pb.go +++ b/go/status.pb.go @@ -6,14 +6,13 @@ package pb import ( context "context" fmt "fmt" - io "io" - math "math" - math_bits "math/bits" - proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/go/util.pb.go b/go/util.pb.go index c65db0c..e4b426a 100644 --- a/go/util.pb.go +++ b/go/util.pb.go @@ -5,11 +5,10 @@ package pb import ( fmt "fmt" + proto "github.com/gogo/protobuf/proto" io "io" math "math" math_bits "math/bits" - - proto "github.com/gogo/protobuf/proto" ) // Reference imports to suppress errors if they are not otherwise used. From 23123e1c203b2d4154d2a40858e214e089838ef0 Mon Sep 17 00:00:00 2001 From: nilpointer <69625202+RT-nilPointer@users.noreply.github.com> Date: Sun, 30 Aug 2020 13:08:58 +0800 Subject: [PATCH 08/13] add progressive option and generate all code except for java --- .script/protoc-java.sh | 2 +- .script/protoc-js.sh | 2 +- doc/PROTO.md | 97 +- go.mod | 18 +- go.sum | 79 + go/file.pb.go | 247 +-- go/node.pb.go | 419 +++-- js/file_grpc_pb.js | 36 +- js/file_pb.js | 346 +++- js/node_pb.js | 206 ++- package-lock.json | 2189 +++++------------------- pb/file.proto | 26 +- pb/node.proto | 16 +- pb/util.proto | 2 +- py/admin_pb2_grpc.py | 130 +- py/file_pb2.py | 169 +- py/file_pb2_grpc.py | 163 +- py/namesys_pb2_grpc.py | 180 +- py/node_pb2.py | 154 +- py/node_pb2_grpc.py | 426 +++-- py/pubsub_pb2_grpc.py | 89 +- py/replication_pb2_grpc.py | 228 ++- py/status_pb2_grpc.py | 130 +- rs/src/admin.rs | 413 ++--- rs/src/admin_grpc.rs | 2 +- rs/src/file.rs | 992 +++++++---- rs/src/file_grpc.rs | 32 +- rs/src/namesys.rs | 377 ++--- rs/src/namesys_grpc.rs | 2 +- rs/src/node.rs | 3270 ++++++++++++++++++------------------ rs/src/node_grpc.rs | 2 +- rs/src/pubsub.rs | 540 +++--- rs/src/pubsub_grpc.rs | 2 +- rs/src/replication.rs | 815 ++++----- rs/src/replication_grpc.rs | 2 +- rs/src/status.rs | 251 ++- rs/src/status_grpc.rs | 2 +- rs/src/util.rs | 133 +- ts/file_pb.d.ts | 47 + ts/file_pb_service.d.ts | 19 + ts/file_pb_service.js | 40 + ts/node_pb.d.ts | 29 + 42 files changed, 6430 insertions(+), 5894 deletions(-) diff --git a/.script/protoc-java.sh b/.script/protoc-java.sh index 356243b..2e5371c 100644 --- a/.script/protoc-java.sh +++ b/.script/protoc-java.sh @@ -13,7 +13,7 @@ mkdir -p build PLUGIN_EXE=protoc-gen-grpc-java-$VERSION-$PLATFORM.exe OUT=build/protoc-gen-grpc-java echo Downloading $PLUGIN_EXE to $OUT... -curl https://search.maven.org/remotecontent?filepath=io/grpc/protoc-gen-grpc-java/$VERSION/$PLUGIN_EXE \ +curl -C - https://search.maven.org/remotecontent?filepath=io/grpc/protoc-gen-grpc-java/$VERSION/$PLUGIN_EXE \ -o $OUT echo Setting plugin as executable... diff --git a/.script/protoc-js.sh b/.script/protoc-js.sh index 63a7bbf..5cb3b4b 100644 --- a/.script/protoc-js.sh +++ b/.script/protoc-js.sh @@ -13,7 +13,7 @@ mkdir -p build OUT=build/protoc-gen-grpc-web PLUGIN_EXE=protoc-gen-grpc-web-$VERSION-$PLATFORM echo Downloading $PLUGIN_EXE to $OUT... -curl -L https://github.com/grpc/grpc-web/releases/download/$VERSION/$PLUGIN_EXE \ +curl -C - -L https://github.com/grpc/grpc-web/releases/download/$VERSION/$PLUGIN_EXE \ -o $OUT echo Setting plugin as executable... diff --git a/doc/PROTO.md b/doc/PROTO.md index 1e093fb..41c2516 100644 --- a/doc/PROTO.md +++ b/doc/PROTO.md @@ -14,32 +14,27 @@ - [REFREQOPTS](#pb.REFREQOPTS) - [REFREQTYPE](#pb.REFREQTYPE) - - [AdminAPI](#pb.AdminAPI) - - [file.proto](#file.proto) - [Blob](#pb.Blob) - [DownloadRequest](#pb.DownloadRequest) - [DownloadResponse](#pb.DownloadResponse) + - [RemoveRequest](#pb.RemoveRequest) + - [RemoveRequest.RefIDsEntry](#pb.RemoveRequest.RefIDsEntry) + - [RemoveResponse](#pb.RemoveResponse) - [UploadOptions](#pb.UploadOptions) - [UploadRequest](#pb.UploadRequest) - - - [FileAPI](#pb.FileAPI) - - [namesys.proto](#namesys.proto) - [NameSysPublishRequest](#pb.NameSysPublishRequest) - [NameSysResolveRequest](#pb.NameSysResolveRequest) - [NameSysResolveResult](#pb.NameSysResolveResult) - - - [NameSysAPI](#pb.NameSysAPI) - - [node.proto](#node.proto) - [Block](#pb.Block) - [BlockstoreRequest](#pb.BlockstoreRequest) @@ -77,10 +72,8 @@ - [KSREQTYPE](#pb.KSREQTYPE) - [P2PREQTYPE](#pb.P2PREQTYPE) - - [NodeAPI](#pb.NodeAPI) - - [pubsub.proto](#pubsub.proto) - [PubSubMessage](#pb.PubSubMessage) - [PubSubPeer](#pb.PubSubPeer) @@ -89,10 +82,8 @@ - [PSREQTYPE](#pb.PSREQTYPE) - - [PubSubAPI](#pb.PubSubAPI) - - [replication.proto](#replication.proto) - [AddrInfo](#pb.AddrInfo) - [Replication](#pb.Replication) @@ -102,29 +93,20 @@ - [Subscription](#pb.Subscription) - [SubscriptionUpdate](#pb.SubscriptionUpdate) - - - [replicator](#pb.replicator) - - [status.proto](#status.proto) - [StatusResponse](#pb.StatusResponse) - [VersionResponse](#pb.VersionResponse) - [APISTATUS](#pb.APISTATUS) - - [StatusAPI](#pb.StatusAPI) - - [util.proto](#util.proto) - [Empty](#pb.Empty) - [PutResponse](#pb.PutResponse) - - - - - [Scalar Value Types](#scalar-value-types) @@ -287,7 +269,7 @@ Blob is a chunk of binary data | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | content | [bytes](#bytes) | | content is the actual binary data contained in this message | -| rangeStart | [uint64](#uint64) | | Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range. If both is zero, the blobs streams contents of the file from start to finish. The unit of range is alway in bytes. Currently, DownloadResponse support blob range. | +| rangeStart | [uint64](#uint64) | | Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range. If both is zero, the blobs streams contents of the file from start to finish. The unit of range is always in bytes. Currently, DownloadResponse support blob range. | | rangeEnd | [uint64](#uint64) | | | @@ -307,7 +289,7 @@ there may be some undefined behavior | ----- | ---- | ----- | ----------- | | hash | [string](#string) | | hash is the ipfs hash/cid (content identifier) of the data to download | | chunkSize | [int32](#int32) | | chunkSize specifies the size of chunks to be sent to the client it allows us to efficiently control incoming data amounts which is useful on machines with low-memory | -| rangeStart | [uint64](#uint64) | | Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range. If both is none zero, only data within range is requested. The unit of range is alway in bytes. If used, please check the returned range values in blobs to make sure this feature is supported. | +| rangeStart | [uint64](#uint64) | | Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range. If both is none zero, only data within range is requested. The unit of range is always in bytes. If used, please check the returned range values in blobs to make sure this feature is supported. | | rangeEnd | [uint64](#uint64) | | | @@ -331,6 +313,52 @@ which allows the gRPC server to stream blobs to the client + + +### RemoveRequest +UploadRequest is used to decrease the reference count on UnixFS objects + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| refIDs | [RemoveRequest.RefIDsEntry](#pb.RemoveRequest.RefIDsEntry) | repeated | refIDs is a map of reference IDs to hash/cid of objects to remove those reference counts | + + + + + + + + +### RemoveRequest.RefIDsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [string](#string) | | | + + + + + + + + +### RemoveResponse +RemoveResponse contains the response to a remove request + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| count | [uint64](#uint64) | | The number of removal operations performed. A missing count is because the refID to hash pair was already removed or was never added | + + + + + + ### UploadOptions @@ -339,9 +367,11 @@ UploadOptions allows controlling the parameters of a file upload | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| multiHash | [string](#string) | | specifes the multihash function to use | +| multiHash | [string](#string) | | specifies the multihash function to use | | layout | [string](#string) | | specifies the dag layout (balanced, tricklet) | | chunker | [string](#string) | | specifies the chunker type (rabin, default, etc...) | +| refID | [string](#string) | | optional reference ID to tag the file with. If set, the same reference ID must be used for deletion | +| progressive | [bool](#bool) | | if refID is set, allows progressive upload | @@ -357,7 +387,7 @@ UploadRequest is used to upload data as a UnixFS object | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | blob | [Blob](#pb.Blob) | | blob is a single chunk of data | -| options | [UploadOptions](#pb.UploadOptions) | | options allows setting the optoins for this upload | +| options | [UploadOptions](#pb.UploadOptions) | | options allows setting the options for this upload, only valid in the first message of a stream | @@ -377,8 +407,9 @@ FileAPI provides a gRPC api to upload/download files as UnixFS objects | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| UploadFile | [UploadRequest](#pb.UploadRequest) stream | [PutResponse](#pb.PutResponse) | UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs add) | +| UploadFile | [UploadRequest](#pb.UploadRequest) stream | [PutResponse](#pb.PutResponse) | UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs pin add) | | DownloadFile | [DownloadRequest](#pb.DownloadRequest) | [DownloadResponse](#pb.DownloadResponse) stream | DownloadFile allows downloading a UnixFS object (equivalent to ipfs get) | +| RemoveFile | [RemoveRequest](#pb.RemoveRequest) | [RemoveResponse](#pb.RemoveResponse) | RemoveFile allows removing a UnixFS object or decrease it's reference counter (equivalent to ipfs pin rm) | @@ -481,7 +512,7 @@ NameSysAPI provides a generic name resolution API | ----- | ---- | ----- | ----------- | | cid | [string](#string) | | cid is the identifier of the block | | data | [bytes](#bytes) | | data is the actual contents of the block | -| size | [int64](#int64) | | size of the block, only filled out by BS_GET_STATS since if we just want stats, we dont want to retrieve all the data. | +| size | [int64](#int64) | | size of the block, only filled out by BS_GET_STATS since if we just want stats, we don't want to retrieve all the data. | @@ -502,6 +533,8 @@ BlockstoreRequest is a message used to control blockstores | data | [bytes](#bytes) | repeated | the data we are putting sent by: BS_PUT, BS_PUT_MANY | | cidVersion | [string](#string) | | the cid version to use when constructing blocks, default is v1 sent by: BS_PUT, BS_PUT_MANY | | hashFunc | [string](#string) | | the hash function to use when constructing blocks, default is sha2-256 sent by: BS_PUT, BS_PUT_MANY | +| refID | [string](#string) | | reference ID to mark the blocks of this operation with when sent by BS_PUT, BS_PUT_MANY: only put if the id is not marked on block, otherwise noop when sent by BS_GET, BS_GET_MANY: only get if the id is marked on block when sent by BS_DELETE: only delete if the id is marked on block | +| progressive | [bool](#bool) | | if refID is set, allows progressive upload | @@ -511,7 +544,7 @@ BlockstoreRequest is a message used to control blockstores ### BlockstoreResponse -BlockstoreResponse is a response to a BlockstoreqRequest +BlockstoreResponse is a response to a BlockstoreRequest | Field | Type | Label | Description | @@ -625,8 +658,10 @@ Used to submit a request to Dag or DagStream RPCs | serializationFormat | [string](#string) | | the serialization format (raw, cbor, protobuf, etc...) sent by: DAG_PUT | | hashFunc | [string](#string) | | the hash function to to use (sha2-256, sha3-512, etc...) sent by: DAG_PUT, DAG_NEW_NODE, DAG_ADD_LINKS | | cidVersion | [int64](#int64) | | the cid version to use (0, 1) sent by: DAG_PUT, DAG_NEW_NODE | -| hash | [string](#string) | | the hash of the object we are processing sent by: DAG_GET, DAG_NEW_NODe, DAG_ADD_LINKS, DAG_GET_LINKS | +| hash | [string](#string) | | the hash of the object we are processing sent by: DAG_GET, DAG_NEW_NODe, DAG_ADD_LINKS, DAG_GET_LINKS, DAG_REMOVE | | links | [DagRequest.LinksEntry](#pb.DagRequest.LinksEntry) | repeated | indicates links and their names. key = name, value = link hash sent by: DAG_NEW_NODE, DAG_ADD_LINKS | +| refID | [string](#string) | | optional reference ID to mark the cid/hash with sent by: DAG_PUT, DAG_REMOVE | +| progressive | [bool](#bool) | | if refID is set, allows progressive upload | @@ -662,6 +697,7 @@ Used in response to a Dag or DagStream RPC | rawData | [bytes](#bytes) | | the actual data contained by the IPLD object sent by: DAG_GET | | links | [IPLDLink](#pb.IPLDLink) | repeated | the links contained within an IPLD node object sent by: DAG_GET_LINKS | | nodeStats | [DagResponse.NodeStatsEntry](#pb.DagResponse.NodeStatsEntry) | repeated | maps ipld cids to a ipld.NodeStat object equivalent sent by: DAG_STAT | +| count | [uint64](#uint64) | | The number of removal operations performed. sent by: DAG_REMOVE | @@ -871,6 +907,8 @@ P2PResponse is a response message sent in response to a P2PRequest message | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | cids | [string](#string) | repeated | cids to persist locally | +| refID | [string](#string) | | optional reference ID to mark the cids with | +| progressive | [bool](#bool) | | if refID is set, allows progressive upload | @@ -986,6 +1024,7 @@ DAGREQTYPE indicates the particular DagAPI request being performed | DAG_ADD_LINKS | 3 | DAG_ADD_LINKS is used to add links to an IPLD node object | | DAG_GET_LINKS | 4 | DAG_GET_LINKS is used to retrieve all links contained in an IPLD node object | | DAG_STAT | 5 | DAG_STAT is used to retrieve ipld.NodeStats information | +| DAG_REMOVE | 6 | DAG_REMOVE is the inverse of DAG_PUT | diff --git a/go.mod b/go.mod index 91621e2..bd6efec 100644 --- a/go.mod +++ b/go.mod @@ -3,13 +3,21 @@ module github.com/RTradeLtd/TxPB/v3 go 1.13 require ( + github.com/Masterminds/goutils v1.1.0 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/Masterminds/sprig v2.22.0+incompatible // indirect github.com/RTradeLtd/go-libp2p-tls v0.2.4 + github.com/aokoli/goutils v1.1.0 // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect + github.com/envoyproxy/protoc-gen-validate v0.4.1 // indirect github.com/gogo/protobuf v1.3.1 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect github.com/golang/mock v1.4.3 // indirect github.com/google/go-cmp v0.5.0 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.14.7 // indirect + github.com/huandu/xstrings v1.3.2 // indirect + github.com/imdario/mergo v0.3.11 // indirect github.com/ipfs/go-bitswap v0.2.19 // indirect github.com/ipfs/go-block-format v0.0.2 github.com/ipfs/go-blockservice v0.1.3 // indirect @@ -25,26 +33,32 @@ require ( github.com/libp2p/go-libp2p-quic-transport v0.6.0 // indirect github.com/libp2p/go-libp2p-record v0.1.3 // indirect github.com/lucas-clemente/quic-go v0.17.1 // indirect + github.com/mitchellh/copystructure v1.0.0 // indirect + github.com/mitchellh/reflectwalk v1.0.1 // indirect github.com/multiformats/go-multiaddr v0.2.2 github.com/multiformats/go-multiaddr-net v0.1.5 + github.com/mwitkow/go-proto-validators v0.3.2 // indirect github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect github.com/onsi/ginkgo v1.13.0 // indirect github.com/pkg/errors v0.9.1 github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 // indirect + github.com/pseudomuto/protoc-gen-doc v1.3.2 // indirect github.com/smartystreets/assertions v1.1.1 // indirect github.com/smartystreets/goconvey v1.6.4 // indirect github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a // indirect github.com/whyrusleeping/cbor-gen v0.0.0-20200504204219-64967432584d // indirect go.opencensus.io v0.22.4 // indirect go.uber.org/zap v1.15.0 + golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect golang.org/x/mod v0.3.0 // indirect golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a // indirect golang.org/x/text v0.3.3 // indirect golang.org/x/tools v0.0.0-20200619023621-037be6a06566 // indirect - google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db // indirect - google.golang.org/grpc v1.29.1 + google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70 // indirect + google.golang.org/grpc v1.31.0 + google.golang.org/protobuf v1.25.0 // indirect gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect honnef.co/go/tools v0.0.1-2020.1.4 // indirect diff --git a/go.sum b/go.sum index f56392f..823aca3 100644 --- a/go.sum +++ b/go.sum @@ -12,11 +12,25 @@ github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOv github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= +github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= +github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITgsTc= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/sprig v2.15.0+incompatible h1:0gSxPGWS9PAr7U2NsQ2YQg6juRDINkUyuvbb4b2Xm8w= +github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= +github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/RTradeLtd/go-libp2p-tls v0.2.4 h1:SKjLKu9b5j6Nixu0gchAWS97yV4XHaqHilq7ZFPJzjM= github.com/RTradeLtd/go-libp2p-tls v0.2.4/go.mod h1:9CS6TsLjrFTkcTFmUIkMWpHVat+XeoLxOF11AfINwDY= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= +github.com/aokoli/goutils v1.1.0/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= @@ -51,6 +65,7 @@ github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwc github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= +github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -71,7 +86,11 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.4.1 h1:7dLaJvASGRD7X49jSCSXXHwKPm0ZN9r9kJD+p+vS7dM= +github.com/envoyproxy/protoc-gen-validate v0.4.1/go.mod h1:E+IEazqdaWv3FrnGtZIu3b9fPFMK8AzeTTrk9SfVwWs= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= @@ -79,6 +98,7 @@ github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= @@ -101,6 +121,7 @@ github.com/golang/mock v1.4.0 h1:Rd1kQnQu0Hq3qvJppYSG0HtP+f5LPPUiDswTLiEegLg= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -133,6 +154,7 @@ github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8v github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= @@ -146,7 +168,12 @@ github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/grpc-gateway v1.5.0 h1:WcmKMm43DR7RdtlkEXQJyo5ws8iTp98CyhCCbOHMvNI= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/grpc-ecosystem/grpc-gateway v1.14.6 h1:8ERzHx8aj1Sc47mu9n/AksaKCSWrMchFtkdrS4BIj5o= +github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= +github.com/grpc-ecosystem/grpc-gateway v1.14.7 h1:Nk5kuHrnWUTf/0GL1a/vchH/om9Ap2/HnVna+jYZgTY= +github.com/grpc-ecosystem/grpc-gateway v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU= github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -157,9 +184,20 @@ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uG github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0 h1:pO2K/gKgKaat5LdpAhxhluX2GPQMaI3W5FUz/I/UnWk= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= +github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= +github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= +github.com/imdario/mergo v0.3.4 h1:mKkfHkZWD8dC7WxKx3N9WCF0Y+dLau45704YQmY6H94= +github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= @@ -302,6 +340,7 @@ github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b h1:wxtKgYHEncAU00muM github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d h1:68u9r4wEvL3gYg2jvAOgROwZ3H+Y3hIDk4tbbmIjcYQ= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -524,6 +563,7 @@ github.com/lucas-clemente/quic-go v0.16.2/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86 github.com/lucas-clemente/quic-go v0.17.1 h1:ezsH76xpn6hKugfsXUy6voIJBFmAOwnM/Oy9F4b/n+M= github.com/lucas-clemente/quic-go v0.17.1/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= +github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkVUl+SrEe+ZORU= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -551,8 +591,14 @@ github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU= github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= +github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= @@ -611,6 +657,11 @@ github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS github.com/multiformats/go-varint v0.0.2/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.5 h1:XVZwSo04Cs3j/jS0uAEPpT3JY6DzMcVLLoWOSnCxOjg= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= +github.com/mwitkow/go-proto-validators v0.3.0 h1:2WkInbIheqmDevK9h0S/K6f0Os/HlTPGJeRwDAeQE1w= +github.com/mwitkow/go-proto-validators v0.3.0/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w= +github.com/mwitkow/go-proto-validators v0.3.2 h1:qRlmpTzm2pstMKKzTdvwPCF5QfBNURSlAgN/R+qbKos= +github.com/mwitkow/go-proto-validators v0.3.2/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= @@ -646,6 +697,8 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 h1:bzMe+2coZJYHnhGgVlcQKuRy4FSny4ds8dLQjw5P1XE= @@ -657,6 +710,11 @@ github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1: github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/pseudomuto/protoc-gen-doc v1.3.2 h1:61vWZuxYa8D7Rn4h+2dgoTNqnluBmJya2MgbqO32z6g= +github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= +github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM= +github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= @@ -702,6 +760,8 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -710,6 +770,7 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= @@ -772,6 +833,7 @@ go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -786,12 +848,15 @@ golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 h1:vEg9joUBmeBcK9iSJftGNf3coIG4HqZElCPehJsfAYM= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -826,6 +891,7 @@ golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM= @@ -834,11 +900,13 @@ golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAG golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -905,6 +973,7 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619023621-037be6a06566 h1:49klx7QdOOhowArd5SbtZIcSClTNc0HBG5OrZQ8jQvQ= golang.org/x/tools v0.0.0-20200619023621-037be6a06566/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= @@ -923,15 +992,21 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db h1:Q5+mRMPseAnmi+ah5YkFXuVnZqUTgxmQF6e4PnjSkcE= google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200620020550-bd6e04640131 h1:IXNofpkLhv80L3TJQvj2YQLnMHZgAktycswvtXwQiRk= +google.golang.org/genproto v0.0.0-20200620020550-bd6e04640131/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70 h1:wboULUXGF3c5qdUnKp+6gLAccE6PRpa/czkYvQ4UXv8= +google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= @@ -943,6 +1018,8 @@ google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -954,6 +1031,7 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -972,6 +1050,7 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= diff --git a/go/file.pb.go b/go/file.pb.go index 5006bc2..5373438 100644 --- a/go/file.pb.go +++ b/go/file.pb.go @@ -30,10 +30,8 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type UploadRequest struct { // blob is a single chunk of data Blob *Blob `protobuf:"bytes,1,opt,name=blob,proto3" json:"blob,omitempty"` - // options allows setting the optoins for this upload + // options allows setting the options for this upload, only valid in the first message of a stream Options *UploadOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` - // optional reference ID to mark the file with, only valid in the first message of a stream - RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId,omitempty"` } func (m *UploadRequest) Reset() { *m = UploadRequest{} } @@ -83,21 +81,18 @@ func (m *UploadRequest) GetOptions() *UploadOptions { return nil } -func (m *UploadRequest) GetRefId() string { - if m != nil { - return m.RefId - } - return "" -} - // UploadOptions allows controlling the parameters of a file upload type UploadOptions struct { - // specifes the multihash function to use + // specifies the multihash function to use MultiHash string `protobuf:"bytes,1,opt,name=multiHash,proto3" json:"multiHash,omitempty"` // specifies the dag layout (balanced, tricklet) Layout string `protobuf:"bytes,2,opt,name=layout,proto3" json:"layout,omitempty"` // specifies the chunker type (rabin, default, etc...) Chunker string `protobuf:"bytes,3,opt,name=chunker,proto3" json:"chunker,omitempty"` + // optional reference ID to tag the file with. If set, the same reference ID must be used for deletion + RefID string `protobuf:"bytes,4,opt,name=refID,proto3" json:"refID,omitempty"` + // if refID is set, allows progressive upload + Progressive bool `protobuf:"varint,5,opt,name=progressive,proto3" json:"progressive,omitempty"` } func (m *UploadOptions) Reset() { *m = UploadOptions{} } @@ -154,6 +149,20 @@ func (m *UploadOptions) GetChunker() string { return "" } +func (m *UploadOptions) GetRefID() string { + if m != nil { + return m.RefID + } + return "" +} + +func (m *UploadOptions) GetProgressive() bool { + if m != nil { + return m.Progressive + } + return false +} + // DownloadRequest is used to download a UnixFS object // although it can in theory be used with other type of objects // there may be some undefined behavior @@ -166,7 +175,7 @@ type DownloadRequest struct { ChunkSize int32 `protobuf:"varint,2,opt,name=chunkSize,proto3" json:"chunkSize,omitempty"` // Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range. // If both is none zero, only data within range is requested. - // The unit of range is alway in bytes. + // The unit of range is always in bytes. // If used, please check the returned range values in blobs to make sure this feature is supported. RangeStart uint64 `protobuf:"varint,3,opt,name=rangeStart,proto3" json:"rangeStart,omitempty"` RangeEnd uint64 `protobuf:"varint,4,opt,name=rangeEnd,proto3" json:"rangeEnd,omitempty"` @@ -286,7 +295,7 @@ type Blob struct { Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` // Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range. // If both is zero, the blobs streams contents of the file from start to finish. - // The unit of range is alway in bytes. + // The unit of range is always in bytes. // Currently, DownloadResponse support blob range. RangeStart uint64 `protobuf:"varint,2,opt,name=rangeStart,proto3" json:"rangeStart,omitempty"` RangeEnd uint64 `protobuf:"varint,3,opt,name=rangeEnd,proto3" json:"rangeEnd,omitempty"` @@ -348,8 +357,8 @@ func (m *Blob) GetRangeEnd() uint64 { // UploadRequest is used to decrease the reference count on UnixFS objects type RemoveRequest struct { - // refIds is a map of reference IDs to hash/cid of objects to remove those refernece counts - RefIds map[string]string `protobuf:"bytes,1,rep,name=refIds,proto3" json:"refIds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // refIDs is a map of reference IDs to hash/cid of objects to remove those reference counts + RefIDs map[string]string `protobuf:"bytes,1,rep,name=refIDs,proto3" json:"refIDs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (m *RemoveRequest) Reset() { *m = RemoveRequest{} } @@ -385,9 +394,9 @@ func (m *RemoveRequest) XXX_DiscardUnknown() { var xxx_messageInfo_RemoveRequest proto.InternalMessageInfo -func (m *RemoveRequest) GetRefIds() map[string]string { +func (m *RemoveRequest) GetRefIDs() map[string]string { if m != nil { - return m.RefIds + return m.RefIDs } return nil } @@ -395,7 +404,7 @@ func (m *RemoveRequest) GetRefIds() map[string]string { // RemoveResponse contains the response to a remove request type RemoveResponse struct { // The number of removal operations performed. - // A missing count is because the refId to hash pair was already removed or was never added + // A missing count is because the refID to hash pair was already removed or was never added Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` } @@ -446,45 +455,46 @@ func init() { proto.RegisterType((*DownloadResponse)(nil), "pb.DownloadResponse") proto.RegisterType((*Blob)(nil), "pb.Blob") proto.RegisterType((*RemoveRequest)(nil), "pb.RemoveRequest") - proto.RegisterMapType((map[string]string)(nil), "pb.RemoveRequest.RefIdsEntry") + proto.RegisterMapType((map[string]string)(nil), "pb.RemoveRequest.RefIDsEntry") proto.RegisterType((*RemoveResponse)(nil), "pb.RemoveResponse") } func init() { proto.RegisterFile("file.proto", fileDescriptor_9188e3b7e55e1162) } var fileDescriptor_9188e3b7e55e1162 = []byte{ - // 483 bytes of a gzipped FileDescriptorProto + // 502 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x4d, 0x6f, 0xd3, 0x40, - 0x10, 0xcd, 0x26, 0x4e, 0xd2, 0x4c, 0x5a, 0x5a, 0x96, 0x08, 0x59, 0x56, 0xb1, 0x22, 0x1f, 0x50, - 0x24, 0x24, 0xab, 0x0a, 0x54, 0x02, 0x24, 0x0e, 0x54, 0x14, 0xd1, 0x13, 0xd5, 0x56, 0xdc, 0x90, - 0x90, 0xdd, 0x6c, 0x89, 0xd5, 0xed, 0xae, 0xb1, 0xd7, 0x45, 0xe1, 0x82, 0xf8, 0x07, 0xfc, 0x19, - 0xfe, 0x03, 0xc7, 0x1e, 0x39, 0xa2, 0xe4, 0x8f, 0xa0, 0xfd, 0xc2, 0x4e, 0x0e, 0xb9, 0xf9, 0xbd, - 0x7d, 0x33, 0xf3, 0xf6, 0xed, 0x18, 0xe0, 0x2a, 0x63, 0x34, 0xce, 0x0b, 0x21, 0x05, 0x6e, 0xe7, - 0x69, 0x00, 0x95, 0xcc, 0x98, 0xc1, 0x51, 0x0e, 0x7b, 0x1f, 0x72, 0x26, 0x92, 0x19, 0xa1, 0x5f, - 0x2a, 0x5a, 0x4a, 0x7c, 0x08, 0x5e, 0xca, 0x44, 0xea, 0xa3, 0x31, 0x9a, 0x0c, 0xa7, 0x3b, 0x71, - 0x9e, 0xc6, 0x27, 0x4c, 0xa4, 0x44, 0xb3, 0xf8, 0x09, 0xf4, 0x45, 0x2e, 0x33, 0xc1, 0x4b, 0xbf, - 0xad, 0x05, 0xf7, 0x95, 0xc0, 0x74, 0x78, 0x6f, 0x0e, 0x88, 0x53, 0xe0, 0x11, 0x74, 0x0b, 0x7a, - 0x75, 0x36, 0xf3, 0x3b, 0x63, 0x34, 0x19, 0x10, 0x03, 0xa2, 0x4f, 0x6e, 0xa2, 0xd5, 0xe3, 0x43, - 0x18, 0xdc, 0x54, 0x4c, 0x66, 0xef, 0x92, 0x72, 0xae, 0xc7, 0x0e, 0x48, 0x4d, 0xe0, 0x87, 0xd0, - 0x63, 0xc9, 0x42, 0x54, 0x52, 0x0f, 0x1c, 0x10, 0x8b, 0xb0, 0x0f, 0xfd, 0xcb, 0x79, 0xc5, 0xaf, - 0x69, 0x61, 0xdb, 0x3b, 0x18, 0x7d, 0x87, 0xfd, 0x37, 0xe2, 0x2b, 0x6f, 0x5e, 0x0a, 0x83, 0x37, - 0xaf, 0xbb, 0xeb, 0x6f, 0x35, 0x56, 0x57, 0x5c, 0x64, 0xdf, 0xa8, 0xee, 0xdd, 0x25, 0x35, 0x81, - 0x43, 0x80, 0x22, 0xe1, 0x9f, 0xe9, 0x85, 0x4c, 0x0a, 0xa9, 0x27, 0x78, 0xa4, 0xc1, 0xe0, 0x00, - 0x76, 0x34, 0x3a, 0xe5, 0x33, 0xdf, 0xd3, 0xa7, 0xff, 0x71, 0x74, 0x04, 0x07, 0xb5, 0x81, 0x32, - 0x17, 0xbc, 0xa4, 0xdb, 0x63, 0x8d, 0x3e, 0x82, 0xa7, 0x90, 0xbe, 0x94, 0xe0, 0x92, 0x72, 0xa9, - 0x85, 0xbb, 0xc4, 0xc1, 0x0d, 0x3f, 0xed, 0xad, 0x7e, 0x3a, 0x1b, 0x7e, 0x7e, 0x20, 0xd8, 0x23, - 0xf4, 0x46, 0xdc, 0x52, 0x97, 0xc7, 0x31, 0xf4, 0xf4, 0x63, 0x94, 0x3e, 0x1a, 0x77, 0x26, 0xc3, - 0xe9, 0x23, 0xe5, 0x67, 0x4d, 0x12, 0x13, 0x7d, 0x7e, 0xca, 0x65, 0xb1, 0x20, 0x56, 0x1c, 0xbc, - 0x80, 0x61, 0x83, 0xc6, 0x07, 0xd0, 0xb9, 0xa6, 0x0b, 0x1b, 0xaa, 0xfa, 0x54, 0x2f, 0x7e, 0x9b, - 0xb0, 0x8a, 0xda, 0xb7, 0x32, 0xe0, 0x65, 0xfb, 0x39, 0x8a, 0x1e, 0xc3, 0x3d, 0xd7, 0xdf, 0x26, - 0x32, 0x82, 0xee, 0xa5, 0xa8, 0xec, 0x4d, 0x3d, 0x62, 0xc0, 0xf4, 0x17, 0x82, 0xfe, 0xdb, 0x8c, - 0xd1, 0xd7, 0xe7, 0x67, 0xf8, 0x19, 0x80, 0xd9, 0x14, 0x45, 0xe0, 0xc6, 0xa6, 0x59, 0x8f, 0xc1, - 0xbe, 0xa2, 0xce, 0x2b, 0xe9, 0x7a, 0x46, 0xad, 0x09, 0xc2, 0xaf, 0x60, 0xd7, 0xa5, 0xaf, 0xeb, - 0x1e, 0x28, 0xd1, 0xc6, 0x42, 0x04, 0xa3, 0x75, 0xd2, 0x95, 0x1f, 0x21, 0x7c, 0x0c, 0x60, 0x8c, - 0xd6, 0x43, 0xd7, 0x82, 0x09, 0x70, 0x93, 0x72, 0x85, 0x27, 0xfe, 0xef, 0x65, 0x88, 0xee, 0x96, - 0x21, 0xfa, 0xbb, 0x0c, 0xd1, 0xcf, 0x55, 0xd8, 0xba, 0x5b, 0x85, 0xad, 0x3f, 0xab, 0xb0, 0x95, - 0xf6, 0xf4, 0x8f, 0xf6, 0xf4, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x84, 0x69, 0xea, 0x86, - 0x03, 0x00, 0x00, + 0x10, 0xcd, 0x26, 0xce, 0xd7, 0xa4, 0xa5, 0x65, 0x89, 0x90, 0x65, 0x15, 0x2b, 0xf2, 0x01, 0x45, + 0x42, 0x8a, 0xaa, 0x40, 0x25, 0x40, 0xe2, 0x40, 0xd5, 0x22, 0x7a, 0xa2, 0xda, 0x8a, 0x0b, 0xe2, + 0x62, 0xb7, 0xdb, 0xc6, 0xea, 0x76, 0xd7, 0xd8, 0xeb, 0xa0, 0x70, 0x41, 0xfc, 0x03, 0x6e, 0xfc, + 0x12, 0xfe, 0x03, 0xc7, 0x1e, 0x39, 0xa2, 0xe4, 0x8f, 0xa0, 0x1d, 0x7b, 0x6b, 0x27, 0x87, 0xde, + 0xfc, 0xde, 0xbc, 0x9d, 0x79, 0xfb, 0x76, 0x0c, 0x70, 0x19, 0x0b, 0x3e, 0x49, 0x52, 0xa5, 0x15, + 0x6d, 0x26, 0x91, 0x07, 0xb9, 0x8e, 0x45, 0x81, 0x83, 0x4f, 0xb0, 0xfd, 0x31, 0x11, 0x2a, 0xbc, + 0x60, 0xfc, 0x4b, 0xce, 0x33, 0x4d, 0xf7, 0xc0, 0x89, 0x84, 0x8a, 0x5c, 0x32, 0x22, 0xe3, 0xc1, + 0xb4, 0x37, 0x49, 0xa2, 0xc9, 0xa1, 0x50, 0x11, 0x43, 0x96, 0x3e, 0x83, 0xae, 0x4a, 0x74, 0xac, + 0x64, 0xe6, 0x36, 0x51, 0xf0, 0xd0, 0x08, 0x8a, 0x0e, 0x1f, 0x8a, 0x02, 0xb3, 0x8a, 0xe0, 0x17, + 0xb1, 0xcd, 0xcb, 0x12, 0xdd, 0x83, 0xfe, 0x4d, 0x2e, 0x74, 0xfc, 0x3e, 0xcc, 0x66, 0x38, 0xa1, + 0xcf, 0x2a, 0x82, 0x3e, 0x86, 0x8e, 0x08, 0x17, 0x2a, 0xd7, 0xd8, 0xbb, 0xcf, 0x4a, 0x44, 0x5d, + 0xe8, 0x9e, 0xcf, 0x72, 0x79, 0xcd, 0x53, 0xb7, 0x85, 0x05, 0x0b, 0xe9, 0x10, 0xda, 0x29, 0xbf, + 0x3c, 0x39, 0x72, 0x1d, 0xe4, 0x0b, 0x40, 0x47, 0x30, 0x48, 0x52, 0x75, 0x95, 0xf2, 0x2c, 0x8b, + 0xe7, 0xdc, 0x6d, 0x8f, 0xc8, 0xb8, 0xc7, 0xea, 0x54, 0xf0, 0x1d, 0x76, 0x8e, 0xd4, 0x57, 0x59, + 0xbf, 0x37, 0x05, 0x67, 0x56, 0xb9, 0xc2, 0x6f, 0x63, 0x17, 0x27, 0x9d, 0xc5, 0xdf, 0x38, 0x7a, + 0x6a, 0xb3, 0x8a, 0xa0, 0x3e, 0x40, 0x1a, 0xca, 0x2b, 0x7e, 0xa6, 0xc3, 0x54, 0xa3, 0x33, 0x87, + 0xd5, 0x18, 0xea, 0x41, 0x0f, 0xd1, 0xb1, 0xbc, 0x40, 0x7f, 0x0e, 0xbb, 0xc3, 0xc1, 0x3e, 0xec, + 0x56, 0x06, 0xb2, 0x44, 0xc9, 0x8c, 0xdf, 0x9f, 0x7c, 0xf0, 0x19, 0x1c, 0x83, 0x30, 0x0c, 0x25, + 0x35, 0x97, 0x1a, 0x85, 0x5b, 0xcc, 0xc2, 0x0d, 0x3f, 0xcd, 0x7b, 0xfd, 0xb4, 0x36, 0xfc, 0xfc, + 0x20, 0xb0, 0xcd, 0xf8, 0x8d, 0x9a, 0x73, 0x9b, 0xc7, 0x01, 0x74, 0x30, 0xcd, 0xcc, 0x25, 0xa3, + 0xd6, 0x78, 0x30, 0x7d, 0x62, 0xfc, 0xac, 0x49, 0x26, 0x0c, 0xeb, 0xc7, 0x52, 0xa7, 0x0b, 0x56, + 0x8a, 0xbd, 0x57, 0x30, 0xa8, 0xd1, 0x74, 0x17, 0x5a, 0xd7, 0x7c, 0x51, 0x86, 0x6a, 0x3e, 0xcd, + 0x93, 0xcd, 0x43, 0x91, 0xf3, 0xf2, 0x8d, 0x0b, 0xf0, 0xba, 0xf9, 0x92, 0x04, 0x4f, 0xe1, 0x81, + 0xed, 0x5f, 0x26, 0x32, 0x84, 0xf6, 0xb9, 0xca, 0xcb, 0x9b, 0x3a, 0xac, 0x00, 0xd3, 0xdf, 0x04, + 0xba, 0xef, 0x62, 0xc1, 0xdf, 0x9e, 0x9e, 0xd0, 0x17, 0x00, 0xc5, 0x86, 0x19, 0x82, 0xd6, 0x96, + 0xb1, 0xf4, 0xe8, 0xed, 0x18, 0xea, 0x34, 0xd7, 0xb6, 0x67, 0xd0, 0x18, 0x13, 0xfa, 0x06, 0xb6, + 0x6c, 0xfa, 0x78, 0xee, 0x91, 0x11, 0x6d, 0x2c, 0x84, 0x37, 0x5c, 0x27, 0xed, 0xf1, 0x7d, 0x42, + 0x0f, 0x00, 0x0a, 0xa3, 0xd5, 0xd0, 0xb5, 0x60, 0x3c, 0x5a, 0xa7, 0xec, 0xc1, 0x43, 0xf7, 0xcf, + 0xd2, 0x27, 0xb7, 0x4b, 0x9f, 0xfc, 0x5b, 0xfa, 0xe4, 0xe7, 0xca, 0x6f, 0xdc, 0xae, 0xfc, 0xc6, + 0xdf, 0x95, 0xdf, 0x88, 0x3a, 0xf8, 0x2f, 0x3e, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x76, 0x5d, + 0xf2, 0x81, 0xa9, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -727,13 +737,6 @@ func (m *UploadRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.RefId) > 0 { - i -= len(m.RefId) - copy(dAtA[i:], m.RefId) - i = encodeVarintFile(dAtA, i, uint64(len(m.RefId))) - i-- - dAtA[i] = 0x1a - } if m.Options != nil { { size, err := m.Options.MarshalToSizedBuffer(dAtA[:i]) @@ -781,6 +784,23 @@ func (m *UploadOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Progressive { + i-- + if m.Progressive { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if len(m.RefID) > 0 { + i -= len(m.RefID) + copy(dAtA[i:], m.RefID) + i = encodeVarintFile(dAtA, i, uint64(len(m.RefID))) + i-- + dAtA[i] = 0x22 + } if len(m.Chunker) > 0 { i -= len(m.Chunker) copy(dAtA[i:], m.Chunker) @@ -945,9 +965,9 @@ func (m *RemoveRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.RefIds) > 0 { - for k := range m.RefIds { - v := m.RefIds[k] + if len(m.RefIDs) > 0 { + for k := range m.RefIDs { + v := m.RefIDs[k] baseI := i i -= len(v) copy(dAtA[i:], v) @@ -1020,10 +1040,6 @@ func (m *UploadRequest) Size() (n int) { l = m.Options.Size() n += 1 + l + sovFile(uint64(l)) } - l = len(m.RefId) - if l > 0 { - n += 1 + l + sovFile(uint64(l)) - } return n } @@ -1045,6 +1061,13 @@ func (m *UploadOptions) Size() (n int) { if l > 0 { n += 1 + l + sovFile(uint64(l)) } + l = len(m.RefID) + if l > 0 { + n += 1 + l + sovFile(uint64(l)) + } + if m.Progressive { + n += 2 + } return n } @@ -1108,8 +1131,8 @@ func (m *RemoveRequest) Size() (n int) { } var l int _ = l - if len(m.RefIds) > 0 { - for k, v := range m.RefIds { + if len(m.RefIDs) > 0 { + for k, v := range m.RefIDs { _ = k _ = v mapEntrySize := 1 + len(k) + sovFile(uint64(len(k))) + 1 + len(v) + sovFile(uint64(len(v))) @@ -1238,38 +1261,6 @@ func (m *UploadRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowFile - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthFile - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthFile - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.RefId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipFile(dAtA[iNdEx:]) @@ -1419,6 +1410,58 @@ func (m *UploadOptions) Unmarshal(dAtA []byte) error { } m.Chunker = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthFile + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthFile + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RefID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Progressive", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Progressive = bool(v != 0) default: iNdEx = preIndex skippy, err := skipFile(dAtA[iNdEx:]) @@ -1830,7 +1873,7 @@ func (m *RemoveRequest) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RefIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RefIDs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1857,8 +1900,8 @@ func (m *RemoveRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RefIds == nil { - m.RefIds = make(map[string]string) + if m.RefIDs == nil { + m.RefIDs = make(map[string]string) } var mapkey string var mapvalue string @@ -1953,7 +1996,7 @@ func (m *RemoveRequest) Unmarshal(dAtA []byte) error { iNdEx += skippy } } - m.RefIds[mapkey] = mapvalue + m.RefIDs[mapkey] = mapvalue iNdEx = postIndex default: iNdEx = preIndex diff --git a/go/node.pb.go b/go/node.pb.go index 4229b55..281827b 100644 --- a/go/node.pb.go +++ b/go/node.pb.go @@ -915,7 +915,9 @@ type BlockstoreRequest struct { // when sent by BS_PUT, BS_PUT_MANY: only put if the id is not marked on block, otherwise noop // when sent by BS_GET, BS_GET_MANY: only get if the id is marked on block // when sent by BS_DELETE: only delete if the id is marked on block - RefId string `protobuf:"bytes,8,opt,name=refId,proto3" json:"refId,omitempty"` + RefID string `protobuf:"bytes,8,opt,name=refID,proto3" json:"refID,omitempty"` + // if refID is set, allows progressive upload + Progressive bool `protobuf:"varint,9,opt,name=progressive,proto3" json:"progressive,omitempty"` } func (m *BlockstoreRequest) Reset() { *m = BlockstoreRequest{} } @@ -993,14 +995,21 @@ func (m *BlockstoreRequest) GetHashFunc() string { return "" } -func (m *BlockstoreRequest) GetRefId() string { +func (m *BlockstoreRequest) GetRefID() string { if m != nil { - return m.RefId + return m.RefID } return "" } -// BlockstoreResponse is a response to a BlockstoreqRequest +func (m *BlockstoreRequest) GetProgressive() bool { + if m != nil { + return m.Progressive + } + return false +} + +// BlockstoreResponse is a response to a BlockstoreRequest type BlockstoreResponse struct { // indicates the particular request type being made RequestType BSREQTYPE `protobuf:"varint,1,opt,name=requestType,proto3,enum=pb.BSREQTYPE" json:"requestType,omitempty"` @@ -1069,7 +1078,7 @@ type Block struct { // data is the actual contents of the block Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // size of the block, only filled out by BS_GET_STATS - // since if we just want stats, we dont want to + // since if we just want stats, we don't want to // retrieve all the data. Size_ int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` } @@ -1156,7 +1165,9 @@ type DagRequest struct { Links map[string]string `protobuf:"bytes,8,rep,name=links,proto3" json:"links,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // optional reference ID to mark the cid/hash with // sent by: DAG_PUT, DAG_REMOVE - RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId,omitempty"` + RefID string `protobuf:"bytes,9,opt,name=refID,proto3" json:"refID,omitempty"` + // if refID is set, allows progressive upload + Progressive bool `protobuf:"varint,10,opt,name=progressive,proto3" json:"progressive,omitempty"` } func (m *DagRequest) Reset() { *m = DagRequest{} } @@ -1248,13 +1259,20 @@ func (m *DagRequest) GetLinks() map[string]string { return nil } -func (m *DagRequest) GetRefId() string { +func (m *DagRequest) GetRefID() string { if m != nil { - return m.RefId + return m.RefID } return "" } +func (m *DagRequest) GetProgressive() bool { + if m != nil { + return m.Progressive + } + return false +} + // Used in response to a Dag or DagStream RPC type DagResponse struct { // indicates the request being performed @@ -1700,7 +1718,9 @@ type PersistRequest struct { // cids to persist locally Cids []string `protobuf:"bytes,1,rep,name=cids,proto3" json:"cids,omitempty"` // optional reference ID to mark the cids with - RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId,omitempty"` + RefID string `protobuf:"bytes,2,opt,name=refID,proto3" json:"refID,omitempty"` + // if refID is set, allows progressive upload + Progressive bool `protobuf:"varint,5,opt,name=progressive,proto3" json:"progressive,omitempty"` } func (m *PersistRequest) Reset() { *m = PersistRequest{} } @@ -1743,13 +1763,20 @@ func (m *PersistRequest) GetCids() []string { return nil } -func (m *PersistRequest) GetRefId() string { +func (m *PersistRequest) GetRefID() string { if m != nil { - return m.RefId + return m.RefID } return "" } +func (m *PersistRequest) GetProgressive() bool { + if m != nil { + return m.Progressive + } + return false +} + type PersistResponse struct { // key = cid, value = whether or not it was persisted Status map[string]bool `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` @@ -1844,120 +1871,121 @@ func init() { func init() { proto.RegisterFile("node.proto", fileDescriptor_0c843d59d2d938e7) } var fileDescriptor_0c843d59d2d938e7 = []byte{ - // 1795 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x8e, 0xdb, 0xc8, - 0x11, 0x16, 0xa9, 0x9f, 0x11, 0x4b, 0xf3, 0x43, 0xb7, 0x1d, 0x47, 0x51, 0x02, 0x65, 0xc2, 0x04, - 0x9b, 0xc1, 0x20, 0x18, 0x1b, 0xda, 0x0d, 0xec, 0x5d, 0x6c, 0x10, 0x50, 0x22, 0x67, 0x56, 0x19, - 0xfd, 0x85, 0xd4, 0x78, 0xed, 0x93, 0xc0, 0x91, 0x7a, 0xc7, 0x8c, 0x29, 0x52, 0x4b, 0x52, 0xb3, - 0x19, 0x23, 0xa7, 0x3c, 0x41, 0xf2, 0x0e, 0x39, 0xe4, 0x05, 0x82, 0x1c, 0xf2, 0x02, 0x39, 0xee, - 0x71, 0x8f, 0x81, 0x7d, 0xc8, 0x29, 0x0f, 0x90, 0x43, 0x80, 0xa0, 0xba, 0x9b, 0x14, 0xa9, 0xe5, - 0x60, 0xec, 0xbd, 0x75, 0x55, 0x57, 0x75, 0x57, 0xd5, 0x57, 0x55, 0x5d, 0x0d, 0xe0, 0x07, 0x0b, - 0x7a, 0xb2, 0x0a, 0x83, 0x38, 0x20, 0xf2, 0xea, 0xb2, 0x05, 0xeb, 0xd8, 0xf5, 0x38, 0xad, 0x7d, - 0x23, 0x03, 0x4c, 0x3a, 0x13, 0x8b, 0x7e, 0xb9, 0xa6, 0x51, 0x4c, 0x1e, 0x43, 0x23, 0xe4, 0xcb, - 0xe9, 0xcd, 0x8a, 0x36, 0xa5, 0x43, 0xe9, 0x68, 0xbf, 0xb3, 0x7f, 0xb2, 0xba, 0x3c, 0x41, 0x21, - 0xf3, 0xb7, 0xd3, 0x17, 0x13, 0xd3, 0xca, 0x8a, 0x10, 0x15, 0xca, 0x8e, 0xe7, 0x35, 0xe5, 0x43, - 0xe9, 0xa8, 0x6e, 0xe1, 0x92, 0x34, 0x61, 0xe7, 0x9a, 0x86, 0x97, 0x41, 0x44, 0x9b, 0x65, 0xc6, - 0x4d, 0x48, 0xa2, 0xc1, 0x2e, 0xbb, 0x75, 0x1e, 0x78, 0x23, 0x67, 0x49, 0x9b, 0x95, 0x43, 0xe9, - 0x48, 0xb1, 0x72, 0x3c, 0xf2, 0x33, 0xd8, 0xf3, 0xdc, 0x28, 0xa6, 0xbe, 0xbe, 0x58, 0x84, 0x34, - 0x8a, 0x9a, 0x55, 0x26, 0x94, 0x67, 0xa2, 0x54, 0xec, 0x84, 0x57, 0x34, 0x4e, 0xa4, 0x6a, 0x5c, - 0x2a, 0xc7, 0x44, 0xa9, 0x90, 0x2e, 0x83, 0x98, 0x26, 0x52, 0x3b, 0x5c, 0x2a, 0xc7, 0x24, 0x1d, - 0x78, 0xe0, 0x78, 0x5e, 0xf0, 0x55, 0x6f, 0x1d, 0xc5, 0xc1, 0x72, 0x22, 0x8c, 0x89, 0x9a, 0x75, - 0x66, 0x7c, 0xe1, 0x1e, 0x7a, 0x12, 0xd2, 0x55, 0x10, 0xc6, 0x13, 0x4a, 0xc3, 0xbe, 0xd1, 0x54, - 0x98, 0x6c, 0x8e, 0xa7, 0xfd, 0x55, 0x82, 0x06, 0x0b, 0x6d, 0xb4, 0x0a, 0xfc, 0x88, 0x7e, 0x87, - 0xd8, 0x3e, 0x80, 0xaa, 0xef, 0x2c, 0x69, 0xd4, 0x94, 0x0f, 0xcb, 0x47, 0x8a, 0xc5, 0x09, 0x72, - 0x08, 0x8d, 0x79, 0xe0, 0xfb, 0x51, 0xcf, 0x0b, 0x22, 0xba, 0x60, 0x31, 0xae, 0x5a, 0x59, 0x16, - 0x79, 0x04, 0x8d, 0x28, 0x0e, 0xa9, 0xb3, 0xec, 0xfb, 0x5f, 0x04, 0x51, 0xb3, 0x72, 0x58, 0x3e, - 0x6a, 0x74, 0xf6, 0xc4, 0x4d, 0x83, 0x08, 0xb9, 0x56, 0x56, 0x42, 0xfb, 0xb3, 0x04, 0x4a, 0xba, - 0xf5, 0x2d, 0x98, 0xa4, 0x77, 0x81, 0x49, 0x7e, 0x27, 0x98, 0xca, 0x45, 0x30, 0x3d, 0x80, 0xaa, - 0x17, 0xcc, 0x1d, 0x8f, 0xe5, 0x43, 0xdd, 0xe2, 0x84, 0xf6, 0x0b, 0x50, 0xcf, 0x28, 0x8b, 0x65, - 0x94, 0x86, 0xb0, 0x09, 0x3b, 0x2b, 0x16, 0xdc, 0xa8, 0x29, 0xb1, 0x90, 0x24, 0xa4, 0xf6, 0x47, - 0x09, 0x0e, 0x7a, 0x81, 0xef, 0x0f, 0xaf, 0x96, 0x71, 0x92, 0xcc, 0xbf, 0x2c, 0x0a, 0xf8, 0x7d, - 0x0c, 0x43, 0x6f, 0x3c, 0x1a, 0x0d, 0xcf, 0x86, 0xd3, 0xc2, 0xa8, 0xb7, 0x01, 0x96, 0x6b, 0x2f, - 0x76, 0xd1, 0xbc, 0x24, 0xf4, 0x19, 0x4e, 0xd6, 0x88, 0x72, 0xde, 0x88, 0xff, 0xc8, 0xa0, 0x6e, - 0x8c, 0x10, 0x36, 0x7f, 0x47, 0x2b, 0x74, 0x50, 0x10, 0x52, 0x3a, 0x8f, 0xe9, 0x82, 0x19, 0xd1, - 0xe8, 0xfc, 0x94, 0x29, 0x6d, 0x9d, 0xcf, 0x18, 0x4c, 0xca, 0xf4, 0xe3, 0xf0, 0xc6, 0xda, 0x68, - 0x91, 0xa7, 0x50, 0x8b, 0x62, 0x27, 0x5e, 0x73, 0x3b, 0x1b, 0x9d, 0xc3, 0x42, 0x7d, 0x9b, 0x89, - 0x70, 0x65, 0x21, 0x9f, 0x75, 0xb1, 0x92, 0x73, 0xb1, 0xf5, 0x29, 0xec, 0xe7, 0x2f, 0xc4, 0x06, - 0xf0, 0x8a, 0xde, 0x88, 0x24, 0xc1, 0x25, 0xe2, 0x79, 0xed, 0x78, 0x6b, 0x2a, 0x9a, 0x02, 0x27, - 0x3e, 0x91, 0x9f, 0x4a, 0xad, 0x21, 0x34, 0x32, 0xd7, 0x15, 0xa8, 0x1e, 0x65, 0x55, 0x1b, 0x1d, - 0x92, 0xb5, 0x98, 0x6b, 0x66, 0x8e, 0xd3, 0x06, 0xdc, 0x98, 0xcd, 0x26, 0xa6, 0xee, 0xc2, 0x8d, - 0x36, 0x81, 0x93, 0x78, 0x5d, 0x66, 0x79, 0xe4, 0x21, 0xd4, 0x42, 0xea, 0x44, 0x81, 0x2f, 0x72, - 0x56, 0x50, 0xda, 0x6b, 0xd8, 0x33, 0x7f, 0x1f, 0x87, 0x4e, 0x94, 0xe4, 0xcf, 0x87, 0x45, 0xc8, - 0xdd, 0x43, 0x93, 0xcc, 0xe7, 0x53, 0x4b, 0xb7, 0x0b, 0x71, 0xfb, 0x08, 0xf6, 0x28, 0x3b, 0xe5, - 0x94, 0x3a, 0xf1, 0x3a, 0xe4, 0x9e, 0x88, 0x3a, 0xe7, 0x6a, 0x4c, 0x27, 0x2f, 0xa4, 0xfd, 0x5b, - 0x82, 0x7b, 0x5d, 0x2f, 0x98, 0xbf, 0x8a, 0xe2, 0x20, 0xa4, 0x89, 0x01, 0x8f, 0x8a, 0x0c, 0x60, - 0x75, 0xdc, 0x2d, 0xbe, 0xfc, 0xe7, 0xb0, 0x13, 0xd2, 0x2f, 0xc7, 0xab, 0x98, 0xe7, 0x6d, 0x56, - 0x78, 0x3c, 0x99, 0xda, 0x56, 0xb2, 0x4b, 0x08, 0x54, 0xe6, 0xee, 0x22, 0x49, 0x60, 0xb6, 0x46, - 0xde, 0xc2, 0x89, 0x1d, 0x86, 0xf8, 0xae, 0xc5, 0xd6, 0x58, 0x0b, 0x73, 0x77, 0xf1, 0x8c, 0x86, - 0x91, 0x1b, 0xf8, 0xa2, 0x15, 0x67, 0x38, 0xa4, 0x05, 0xf5, 0x97, 0x4e, 0xf4, 0xf2, 0x74, 0xed, - 0xcf, 0x45, 0x73, 0x4d, 0x69, 0x4c, 0x83, 0x90, 0x7e, 0xd1, 0x5f, 0xb0, 0x46, 0xaa, 0x58, 0x9c, - 0xd0, 0x5e, 0x02, 0xc9, 0x3a, 0x2a, 0x8a, 0xe4, 0xbd, 0x3d, 0xfd, 0x09, 0xd4, 0x2e, 0xd9, 0x31, - 0xa2, 0x36, 0x14, 0x26, 0x8b, 0x1c, 0x4b, 0x6c, 0x68, 0x3a, 0x54, 0x19, 0x03, 0xd3, 0x6c, 0xee, - 0x2e, 0x92, 0x34, 0x9b, 0xbb, 0x8b, 0xd4, 0x55, 0xc4, 0x26, 0x71, 0x95, 0x40, 0x25, 0x72, 0x5f, - 0xf3, 0x37, 0xab, 0x6c, 0xb1, 0xb5, 0xf6, 0x3f, 0x19, 0xc0, 0x70, 0xae, 0xee, 0x7e, 0x1d, 0x0d, - 0xfd, 0xac, 0xd0, 0xcc, 0xa2, 0x8b, 0x3e, 0x80, 0xfd, 0xe0, 0xf2, 0x77, 0x74, 0x1e, 0x9b, 0xfe, - 0x3c, 0x58, 0xb8, 0xfe, 0x95, 0xe8, 0x8a, 0x5b, 0x5c, 0xf2, 0x18, 0xee, 0x47, 0x34, 0x74, 0x1d, - 0xcf, 0x7d, 0xed, 0xc4, 0x6e, 0xe0, 0x9f, 0x06, 0xe1, 0xd2, 0x89, 0xc5, 0xa3, 0x59, 0xb4, 0x95, - 0x43, 0xa3, 0xba, 0x85, 0x46, 0x1e, 0xc9, 0x1a, 0x73, 0x32, 0x8b, 0x24, 0x81, 0x0a, 0xca, 0x0a, - 0x14, 0xd9, 0x9a, 0x3c, 0x82, 0xaa, 0xe7, 0xfa, 0xaf, 0xf0, 0x29, 0xc4, 0x18, 0xff, 0x80, 0x79, - 0x9a, 0x86, 0xe3, 0x64, 0x80, 0x7b, 0xbc, 0x71, 0x70, 0xb9, 0x0d, 0xe4, 0x4a, 0x06, 0xf2, 0xd6, - 0x53, 0x80, 0x8d, 0xe8, 0x5d, 0xfd, 0x42, 0xc9, 0x16, 0xf8, 0xdf, 0x64, 0x68, 0xb0, 0x0b, 0xef, - 0x7c, 0x42, 0x6f, 0x03, 0xe0, 0x21, 0xd4, 0xd0, 0x95, 0xf4, 0x0d, 0x15, 0x14, 0x76, 0xb8, 0xd0, - 0xf9, 0xca, 0x40, 0x6c, 0xca, 0x0c, 0x9b, 0x84, 0x24, 0x5a, 0xe2, 0x34, 0x7f, 0x36, 0x77, 0xf1, - 0xf4, 0xfe, 0x64, 0x60, 0xa0, 0x0b, 0x89, 0x9f, 0x9f, 0x82, 0x82, 0x33, 0x15, 0x36, 0x1d, 0x1c, - 0x50, 0x50, 0xae, 0x9d, 0x06, 0x47, 0xf4, 0xd5, 0x51, 0x22, 0x20, 0xfa, 0x72, 0xaa, 0x80, 0xfe, - 0xce, 0x83, 0xb5, 0x1f, 0x33, 0x14, 0x2a, 0x16, 0x27, 0x5a, 0xbf, 0x81, 0xfd, 0xbc, 0x4a, 0x41, - 0xa4, 0xb4, 0x7c, 0x7b, 0x4c, 0x6d, 0x43, 0xa5, 0x6c, 0xdc, 0xfe, 0x22, 0x41, 0x3d, 0xe1, 0x63, - 0x56, 0xf8, 0xeb, 0x25, 0x43, 0x80, 0x9d, 0x55, 0xb6, 0x52, 0x9a, 0xfc, 0x08, 0x14, 0x56, 0x2d, - 0x36, 0x66, 0xbe, 0xcc, 0x36, 0x37, 0x0c, 0xd4, 0x44, 0x7f, 0xed, 0x4d, 0x59, 0xa4, 0x34, 0x66, - 0xf1, 0x7c, 0xbd, 0x5c, 0x7b, 0x4e, 0xec, 0x5e, 0x53, 0x26, 0x51, 0x61, 0x12, 0x5b, 0x5c, 0x3c, - 0x03, 0xb3, 0x9e, 0x49, 0x54, 0xf9, 0x19, 0x09, 0xad, 0x9d, 0x72, 0x2b, 0xd1, 0x94, 0x34, 0xff, - 0x24, 0x5e, 0x29, 0x2c, 0xff, 0x08, 0x54, 0x70, 0xe4, 0x11, 0x79, 0xc1, 0xd6, 0xb9, 0x32, 0xad, - 0x88, 0x32, 0xed, 0xf2, 0x73, 0x30, 0x7c, 0x1b, 0xf8, 0xe4, 0xdb, 0xe1, 0x4b, 0xaa, 0x52, 0xda, - 0x54, 0xa5, 0x76, 0x0d, 0x07, 0xe7, 0xf4, 0xe6, 0x1d, 0xdb, 0xef, 0xb9, 0x7d, 0x5b, 0xb5, 0x7f, - 0xcb, 0xde, 0x36, 0xc0, 0x2a, 0x74, 0xaf, 0x9d, 0x98, 0x9e, 0xd3, 0x1b, 0x91, 0x6b, 0x19, 0x0e, - 0x8e, 0x5e, 0xea, 0xe6, 0xe2, 0x3b, 0xdb, 0xe1, 0x2d, 0x37, 0xe7, 0x6f, 0x91, 0xb7, 0x6f, 0x41, - 0x14, 0x5e, 0xd1, 0x9b, 0x11, 0x1b, 0x26, 0x79, 0xcf, 0x4f, 0x69, 0x4c, 0xb3, 0x97, 0x4e, 0x24, - 0x86, 0x2f, 0x5c, 0x6a, 0x9f, 0xc0, 0xfe, 0x04, 0xdb, 0x42, 0x94, 0x8e, 0x52, 0xc9, 0x7b, 0x21, - 0x65, 0xde, 0x8b, 0xb4, 0xd8, 0xe5, 0x6c, 0x7f, 0xff, 0xaf, 0x04, 0x07, 0xa9, 0xb2, 0x70, 0xe7, - 0x49, 0x3a, 0x88, 0x48, 0x0c, 0x94, 0x1f, 0xb3, 0x51, 0x34, 0x2f, 0x54, 0x38, 0x87, 0x3c, 0x81, - 0x1a, 0x0d, 0xc3, 0x20, 0x4c, 0xd0, 0x2c, 0x54, 0x34, 0x99, 0x84, 0x50, 0xe4, 0xe2, 0xad, 0x8f, - 0xef, 0x1a, 0x34, 0x6e, 0x9f, 0x51, 0x3e, 0x86, 0x46, 0xe6, 0xc4, 0xf7, 0x69, 0x57, 0xc7, 0x4f, - 0xf9, 0x5f, 0x8a, 0x03, 0x44, 0x14, 0xa8, 0xf6, 0x06, 0x63, 0xdb, 0x54, 0x4b, 0xa4, 0x01, 0x3b, - 0xa7, 0x63, 0xeb, 0x73, 0xdd, 0x32, 0x54, 0x89, 0x00, 0xd4, 0x06, 0x7d, 0x7b, 0x6a, 0x8e, 0x54, - 0x99, 0xd4, 0x40, 0x1e, 0xd8, 0x6a, 0xf9, 0xf8, 0x02, 0x0e, 0xb6, 0xa6, 0x41, 0xb2, 0x0f, 0xd0, - 0x1b, 0xce, 0x90, 0x6b, 0xf6, 0xa6, 0x6a, 0x89, 0xdc, 0x83, 0xbd, 0xde, 0x70, 0x66, 0xf4, 0xed, - 0x84, 0x25, 0x91, 0x3d, 0x50, 0x7a, 0xc3, 0x99, 0x3d, 0xd5, 0xa7, 0x17, 0xb6, 0x2a, 0x13, 0x15, - 0x76, 0x7b, 0xc3, 0xd9, 0x99, 0x39, 0x9d, 0x4d, 0x4c, 0xd3, 0xc2, 0x63, 0x4f, 0x60, 0x2f, 0x37, - 0xaa, 0xa0, 0x86, 0xf9, 0x7c, 0x66, 0x8e, 0xf4, 0xee, 0x00, 0xed, 0xda, 0x07, 0x30, 0x9f, 0xe3, - 0x99, 0x8c, 0x96, 0x8e, 0x7f, 0x8d, 0x74, 0x32, 0xa3, 0x90, 0x5d, 0xa8, 0xf7, 0x0d, 0x73, 0x34, - 0xed, 0x9f, 0xbe, 0x50, 0x4b, 0x68, 0xf6, 0xe4, 0xa2, 0x6b, 0x5f, 0x74, 0xf9, 0xc5, 0xcc, 0x90, - 0x67, 0xa6, 0xf5, 0x42, 0x95, 0x49, 0x1d, 0x2a, 0x43, 0x63, 0x84, 0x17, 0xfe, 0x43, 0x02, 0xa5, - 0x9b, 0xbd, 0xad, 0x6b, 0xcf, 0x0c, 0x73, 0x60, 0x4e, 0x4d, 0x7e, 0x42, 0xd7, 0x9e, 0x4d, 0x2e, - 0xd0, 0xf4, 0x03, 0x68, 0xf0, 0xf5, 0x6c, 0xa8, 0x8f, 0xf0, 0x0c, 0xbe, 0x79, 0x66, 0x4e, 0xd5, - 0xb2, 0xd8, 0x44, 0x47, 0xd8, 0x66, 0x05, 0xed, 0x14, 0x0c, 0x7d, 0x30, 0x50, 0xab, 0xe8, 0xa9, - 0xa0, 0xd1, 0x79, 0x5b, 0xad, 0x09, 0xf5, 0xcf, 0x74, 0x5b, 0xdd, 0x21, 0x2d, 0x78, 0xc8, 0xd7, - 0x9f, 0xcd, 0xc6, 0xa3, 0x99, 0x65, 0xea, 0x46, 0xe2, 0x71, 0x9d, 0xfc, 0x10, 0xbe, 0xbf, 0xbd, - 0x97, 0xb8, 0xaf, 0x1c, 0x7f, 0x20, 0x8c, 0xc7, 0x59, 0x09, 0x31, 0x33, 0xcc, 0x53, 0xfd, 0x62, - 0x80, 0xc1, 0xdf, 0x85, 0x7a, 0xd7, 0x9e, 0x9d, 0x8e, 0xad, 0x1e, 0x86, 0xe9, 0x0f, 0x00, 0x9b, - 0xf7, 0x86, 0x09, 0xea, 0x67, 0xcc, 0xaf, 0x52, 0x42, 0xa0, 0x1f, 0x12, 0x9a, 0x89, 0xc4, 0xc8, - 0xfc, 0x7c, 0x36, 0x1a, 0x1b, 0xa6, 0x2a, 0x23, 0x88, 0xc8, 0xd1, 0x0d, 0x63, 0x36, 0xe8, 0x8f, - 0xce, 0x6d, 0xb5, 0x9c, 0xb0, 0xd0, 0x19, 0xce, 0xaa, 0xe0, 0x6d, 0xc8, 0x42, 0xdf, 0xd4, 0x2a, - 0x3a, 0x8f, 0x94, 0x65, 0x0e, 0xc7, 0xcf, 0x4c, 0xb5, 0x76, 0x7c, 0x0e, 0x4a, 0xda, 0x05, 0xd0, - 0xef, 0x73, 0xee, 0x77, 0x49, 0xac, 0xf9, 0xd5, 0x7c, 0x8d, 0x36, 0xc9, 0x08, 0xc3, 0x79, 0x0a, - 0x43, 0x19, 0x4d, 0x3c, 0xb7, 0x67, 0x98, 0x82, 0x6a, 0xa5, 0xf3, 0xf7, 0x32, 0xec, 0x60, 0xdf, - 0xd4, 0x27, 0x7d, 0xf2, 0x04, 0xea, 0xc9, 0x38, 0x4d, 0xee, 0xe7, 0xff, 0x0a, 0xac, 0x0b, 0xb4, - 0x1e, 0x14, 0x7d, 0x20, 0xb4, 0x12, 0x39, 0x82, 0x1a, 0x9f, 0x9c, 0x09, 0x9f, 0x8e, 0xb3, 0x53, - 0x74, 0x8b, 0x4d, 0x66, 0xe6, 0x72, 0x15, 0xdf, 0x30, 0xc9, 0xf2, 0xa4, 0x33, 0x21, 0xe9, 0xaf, - 0x57, 0xc8, 0x1c, 0xa4, 0x74, 0x7a, 0xe6, 0xaf, 0x00, 0x36, 0x73, 0x22, 0xf9, 0x5e, 0x3a, 0xde, - 0x65, 0x3b, 0x74, 0xeb, 0xe1, 0x36, 0x3b, 0x55, 0x3f, 0x03, 0x75, 0xc3, 0xb7, 0xd9, 0x57, 0xf7, - 0xbd, 0x0f, 0x39, 0x92, 0x1e, 0x4b, 0x68, 0xb1, 0xe1, 0x5c, 0x71, 0x8b, 0x37, 0xb3, 0x0f, 0xb7, - 0x38, 0xf3, 0xdc, 0x6b, 0x25, 0x0c, 0x5f, 0xd2, 0xc8, 0x79, 0xf8, 0xb6, 0xde, 0x13, 0x1e, 0xbe, - 0xed, 0x5e, 0xaf, 0x95, 0xc8, 0x47, 0xb0, 0x23, 0x7a, 0x1a, 0x21, 0xb9, 0x06, 0xc7, 0xd5, 0xee, - 0x17, 0x34, 0x3d, 0xad, 0xd4, 0x6d, 0xfe, 0xf3, 0x4d, 0x5b, 0xfa, 0xfa, 0x4d, 0x5b, 0xfa, 0xd7, - 0x9b, 0xb6, 0xf4, 0xa7, 0xb7, 0xed, 0xd2, 0xd7, 0x6f, 0xdb, 0xa5, 0x6f, 0xde, 0xb6, 0x4b, 0x97, - 0x35, 0xf6, 0x53, 0xff, 0xf0, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb9, 0xf0, 0xa2, 0xf8, 0xf8, - 0x11, 0x00, 0x00, + // 1820 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x8e, 0xdb, 0xc8, + 0x11, 0x16, 0xa9, 0x9f, 0x91, 0x4a, 0xf3, 0x43, 0xb7, 0x1d, 0x47, 0x51, 0x02, 0x65, 0xc2, 0x04, + 0x9b, 0xc1, 0x20, 0x18, 0x1b, 0xda, 0x0d, 0xec, 0x0d, 0x36, 0x08, 0x28, 0x91, 0x33, 0xab, 0xe8, + 0x37, 0xa4, 0xc6, 0x6b, 0x03, 0x01, 0x04, 0x8e, 0xd4, 0x3b, 0x66, 0x4c, 0x91, 0x5a, 0x92, 0x9a, + 0xcd, 0x18, 0x39, 0xe5, 0x96, 0x5b, 0xf2, 0x04, 0xb9, 0xe4, 0x90, 0x17, 0x08, 0x72, 0xc8, 0x0b, + 0xe4, 0xb8, 0xc7, 0x3d, 0x06, 0xf6, 0x39, 0x0f, 0x90, 0x5b, 0x50, 0xdd, 0x4d, 0x8a, 0xd4, 0x70, + 0x76, 0xec, 0xbd, 0x75, 0x55, 0x57, 0x55, 0x7f, 0xf5, 0xd3, 0xd5, 0x45, 0x02, 0x78, 0xfe, 0x82, + 0x9e, 0xac, 0x02, 0x3f, 0xf2, 0x89, 0xbc, 0xba, 0x68, 0xc2, 0x3a, 0x72, 0x5c, 0x4e, 0xab, 0x5f, + 0xcb, 0x00, 0x93, 0xf6, 0xc4, 0xa4, 0x5f, 0xac, 0x69, 0x18, 0x91, 0xc7, 0x50, 0x0f, 0xf8, 0x72, + 0x7a, 0xbd, 0xa2, 0x0d, 0xe9, 0x50, 0x3a, 0xda, 0x6f, 0xef, 0x9f, 0xac, 0x2e, 0x4e, 0x50, 0xc8, + 0xf8, 0xcd, 0xf4, 0xc5, 0xc4, 0x30, 0xd3, 0x22, 0x44, 0x81, 0xa2, 0xed, 0xba, 0x0d, 0xf9, 0x50, + 0x3a, 0xaa, 0x9a, 0xb8, 0x24, 0x0d, 0xd8, 0xb9, 0xa2, 0xc1, 0x85, 0x1f, 0xd2, 0x46, 0x91, 0x71, + 0x63, 0x92, 0xa8, 0xb0, 0xcb, 0x4e, 0x9d, 0xfb, 0xee, 0xc8, 0x5e, 0xd2, 0x46, 0xe9, 0x50, 0x3a, + 0xaa, 0x99, 0x19, 0x1e, 0xf9, 0x09, 0xec, 0xb9, 0x4e, 0x18, 0x51, 0x4f, 0x5b, 0x2c, 0x02, 0x1a, + 0x86, 0x8d, 0x32, 0x13, 0xca, 0x32, 0x51, 0x2a, 0xb2, 0x83, 0x4b, 0x1a, 0xc5, 0x52, 0x15, 0x2e, + 0x95, 0x61, 0xa2, 0x54, 0x40, 0x97, 0x7e, 0x44, 0x63, 0xa9, 0x1d, 0x2e, 0x95, 0x61, 0x92, 0x36, + 0x3c, 0xb0, 0x5d, 0xd7, 0xff, 0xb2, 0xbb, 0x0e, 0x23, 0x7f, 0x39, 0x11, 0x60, 0xc2, 0x46, 0x95, + 0x81, 0xcf, 0xdd, 0x43, 0x4f, 0x02, 0xba, 0xf2, 0x83, 0x68, 0x42, 0x69, 0xd0, 0xd3, 0x1b, 0x35, + 0x26, 0x9b, 0xe1, 0xa9, 0x7f, 0x97, 0xa0, 0xce, 0x42, 0x1b, 0xae, 0x7c, 0x2f, 0xa4, 0xdf, 0x22, + 0xb6, 0x0f, 0xa0, 0xec, 0xd9, 0x4b, 0x1a, 0x36, 0xe4, 0xc3, 0xe2, 0x51, 0xcd, 0xe4, 0x04, 0x39, + 0x84, 0xfa, 0xdc, 0xf7, 0xbc, 0xb0, 0xeb, 0xfa, 0x21, 0x5d, 0xb0, 0x18, 0x97, 0xcd, 0x34, 0x8b, + 0x3c, 0x82, 0x7a, 0x18, 0x05, 0xd4, 0x5e, 0xf6, 0xbc, 0xcf, 0xfd, 0xb0, 0x51, 0x3a, 0x2c, 0x1e, + 0xd5, 0xdb, 0x7b, 0xe2, 0xa4, 0x41, 0x88, 0x5c, 0x33, 0x2d, 0xa1, 0xfe, 0x45, 0x82, 0x5a, 0xb2, + 0x75, 0x23, 0x4d, 0xd2, 0xbb, 0xa4, 0x49, 0x7e, 0xa7, 0x34, 0x15, 0xf3, 0xd2, 0xf4, 0x00, 0xca, + 0xae, 0x3f, 0xb7, 0x5d, 0x56, 0x0f, 0x55, 0x93, 0x13, 0xea, 0xcf, 0x40, 0x39, 0xa3, 0x2c, 0x96, + 0x61, 0x12, 0xc2, 0x06, 0xec, 0xac, 0x58, 0x70, 0xc3, 0x86, 0xc4, 0x42, 0x12, 0x93, 0xea, 0x1f, + 0x25, 0x38, 0xe8, 0xfa, 0x9e, 0x37, 0xbc, 0x5c, 0x46, 0x71, 0x31, 0xff, 0x3c, 0x2f, 0xe0, 0xf7, + 0x31, 0x0c, 0xdd, 0xf1, 0x68, 0x34, 0x3c, 0x1b, 0x4e, 0x73, 0xa3, 0xde, 0x02, 0x58, 0xae, 0xdd, + 0xc8, 0x41, 0x78, 0x71, 0xe8, 0x53, 0x9c, 0x34, 0x88, 0x62, 0x16, 0xc4, 0x7f, 0x65, 0x50, 0x36, + 0x20, 0x04, 0xe6, 0x6f, 0x89, 0x42, 0x83, 0x1a, 0xa6, 0x94, 0xce, 0x23, 0xba, 0x60, 0x20, 0xea, + 0xed, 0x1f, 0x33, 0xa5, 0x2d, 0xfb, 0x8c, 0xc1, 0xa4, 0x0c, 0x2f, 0x0a, 0xae, 0xcd, 0x8d, 0x16, + 0x79, 0x0a, 0x95, 0x30, 0xb2, 0xa3, 0x35, 0xc7, 0x59, 0x6f, 0x1f, 0xe6, 0xea, 0x5b, 0x4c, 0x84, + 0x2b, 0x0b, 0xf9, 0xb4, 0x8b, 0xa5, 0x8c, 0x8b, 0xcd, 0x4f, 0x60, 0x3f, 0x7b, 0x20, 0x36, 0x80, + 0x57, 0xf4, 0x5a, 0x14, 0x09, 0x2e, 0x31, 0x9f, 0x57, 0xb6, 0xbb, 0xa6, 0xa2, 0x29, 0x70, 0xe2, + 0x17, 0xf2, 0x53, 0xa9, 0x39, 0x84, 0x7a, 0xea, 0xb8, 0x1c, 0xd5, 0xa3, 0xb4, 0x6a, 0xbd, 0x4d, + 0xd2, 0x88, 0xb9, 0x66, 0xca, 0x9c, 0x3a, 0xe0, 0x60, 0x36, 0x9b, 0x58, 0xba, 0x0b, 0x27, 0xdc, + 0x04, 0x4e, 0xe2, 0xf7, 0x32, 0xcd, 0x23, 0x0f, 0xa1, 0x12, 0x50, 0x3b, 0xf4, 0x3d, 0x51, 0xb3, + 0x82, 0x52, 0x5f, 0xc3, 0x9e, 0xf1, 0xfb, 0x28, 0xb0, 0xc3, 0xb8, 0x7e, 0x3e, 0xcc, 0xcb, 0xdc, + 0x3d, 0x84, 0x64, 0x3c, 0x9f, 0x9a, 0x9a, 0x95, 0x9b, 0xb7, 0x8f, 0x60, 0x8f, 0x32, 0x2b, 0xa7, + 0xd4, 0x8e, 0xd6, 0x01, 0xf7, 0x44, 0xdc, 0x73, 0xae, 0xc6, 0x74, 0xb2, 0x42, 0xea, 0x9f, 0x64, + 0xb8, 0xd7, 0x71, 0xfd, 0xf9, 0xab, 0x30, 0xf2, 0x03, 0x1a, 0x03, 0x78, 0x94, 0x07, 0x80, 0xdd, + 0xe3, 0x4e, 0xfe, 0xe1, 0x3f, 0x85, 0x9d, 0x80, 0x7e, 0x31, 0x5e, 0x45, 0xbc, 0x6e, 0xd3, 0xc2, + 0xe3, 0xc9, 0xd4, 0x32, 0xe3, 0x5d, 0x42, 0xa0, 0x34, 0x77, 0x16, 0x71, 0x01, 0xb3, 0x35, 0xf2, + 0x16, 0x76, 0x64, 0xb3, 0x8c, 0xef, 0x9a, 0x6c, 0x8d, 0x77, 0x61, 0xee, 0x2c, 0x9e, 0xd1, 0x20, + 0x74, 0x7c, 0x4f, 0xb4, 0xe2, 0x14, 0x87, 0x34, 0xa1, 0xfa, 0xd2, 0x0e, 0x5f, 0x9e, 0xae, 0xbd, + 0xb9, 0x68, 0xae, 0x09, 0x8d, 0x65, 0x10, 0xd0, 0xcf, 0x7b, 0x3a, 0x6b, 0xa4, 0x35, 0x93, 0x13, + 0xd8, 0xbd, 0x56, 0x81, 0x7f, 0x89, 0x17, 0xdf, 0xb9, 0xa2, 0xa2, 0x71, 0xa6, 0x59, 0xea, 0x4b, + 0x20, 0xe9, 0x50, 0x88, 0x6b, 0xf4, 0xde, 0xb1, 0xf8, 0x11, 0x54, 0x2e, 0x98, 0x19, 0x71, 0x7b, + 0x6a, 0x4c, 0x16, 0x39, 0xa6, 0xd8, 0x50, 0x35, 0x28, 0x33, 0x06, 0x16, 0xe2, 0xdc, 0x59, 0xc4, + 0x85, 0x38, 0x77, 0x16, 0x49, 0x30, 0x30, 0x7b, 0x71, 0x30, 0x08, 0x94, 0x42, 0xe7, 0x35, 0x7f, + 0xd5, 0x8a, 0x26, 0x5b, 0xab, 0x7f, 0x2d, 0x02, 0xe8, 0xf6, 0xe5, 0xdd, 0xef, 0xa7, 0xae, 0x9d, + 0xe5, 0xc2, 0xcc, 0x3b, 0xe8, 0x03, 0xd8, 0xf7, 0x2f, 0x7e, 0x47, 0xe7, 0x91, 0xe1, 0xcd, 0xfd, + 0x85, 0xe3, 0x5d, 0x8a, 0xbe, 0xb9, 0xc5, 0x25, 0x8f, 0xe1, 0x7e, 0x48, 0x03, 0xc7, 0x76, 0x9d, + 0xd7, 0x76, 0xe4, 0xf8, 0xde, 0xa9, 0x1f, 0x2c, 0xed, 0x48, 0x3c, 0xab, 0x79, 0x5b, 0x99, 0x7c, + 0x95, 0xb7, 0xf2, 0x95, 0xcd, 0x75, 0x85, 0x39, 0x99, 0xce, 0x35, 0x81, 0x12, 0xca, 0x8a, 0x3c, + 0xb3, 0x35, 0x79, 0x04, 0x65, 0xd7, 0xf1, 0x5e, 0xe1, 0x63, 0x89, 0x31, 0xfe, 0x1e, 0xf3, 0x34, + 0x09, 0xc7, 0xc9, 0x00, 0xf7, 0x78, 0x6b, 0xe1, 0x72, 0x9b, 0xa2, 0xa8, 0x7d, 0x43, 0x51, 0xc0, + 0x8d, 0xa2, 0x68, 0x3e, 0x05, 0xd8, 0x18, 0xbb, 0xab, 0xe7, 0xd4, 0xd2, 0x4d, 0xe2, 0x1f, 0x32, + 0xd4, 0x19, 0xa4, 0x3b, 0x9f, 0xe1, 0xdb, 0x52, 0xf4, 0x10, 0x2a, 0xe8, 0x6c, 0xf2, 0x0e, 0x0b, + 0x0a, 0xbb, 0x64, 0x60, 0x7f, 0xa9, 0x63, 0xf6, 0x8a, 0x2c, 0x7b, 0x31, 0x49, 0xd4, 0x38, 0x2c, + 0xfc, 0xe9, 0xdd, 0x45, 0xeb, 0xbd, 0xc9, 0x40, 0x47, 0x17, 0xe2, 0x48, 0x7c, 0x02, 0x35, 0x9c, + 0xcb, 0xb0, 0x71, 0xe1, 0x90, 0x83, 0x72, 0xad, 0x24, 0x7c, 0xa2, 0x37, 0x8f, 0x62, 0x01, 0xd1, + 0xdb, 0x13, 0x05, 0xf4, 0x77, 0xee, 0xaf, 0xbd, 0x88, 0xe5, 0xa9, 0x64, 0x72, 0xa2, 0xf9, 0x6b, + 0xd8, 0xcf, 0xaa, 0xe4, 0x44, 0x4a, 0xcd, 0xb6, 0xd8, 0x04, 0x1b, 0x2a, 0xa5, 0xe3, 0xf6, 0x37, + 0x09, 0xaa, 0x31, 0x1f, 0xeb, 0xc6, 0x5b, 0x2f, 0x59, 0x06, 0x98, 0xad, 0xa2, 0x99, 0xd0, 0xe4, + 0x07, 0x50, 0x63, 0xf7, 0xc9, 0xc2, 0xbb, 0x21, 0xb3, 0xcd, 0x0d, 0x03, 0x35, 0xd1, 0x5f, 0x6b, + 0x73, 0x71, 0x12, 0x1a, 0xeb, 0x7c, 0xbe, 0x5e, 0xae, 0x5d, 0x3b, 0x72, 0xae, 0x28, 0x93, 0x28, + 0x31, 0x89, 0x2d, 0x2e, 0xda, 0xc0, 0x7b, 0xc1, 0x24, 0xca, 0xdc, 0x46, 0x4c, 0xab, 0xa7, 0x1c, + 0x25, 0x42, 0x49, 0x2a, 0x54, 0xe2, 0x77, 0x89, 0x55, 0x28, 0x81, 0x12, 0x8e, 0x4d, 0xa2, 0x2e, + 0xd8, 0x3a, 0x73, 0x91, 0x4b, 0xe2, 0x22, 0x77, 0xb8, 0x1d, 0x0c, 0xdf, 0x26, 0x7d, 0xf2, 0xed, + 0xe9, 0x8b, 0xef, 0xad, 0xb4, 0xb9, 0xb7, 0xea, 0x15, 0x1c, 0xf4, 0xe9, 0xf5, 0x3b, 0xb6, 0xf0, + 0xbe, 0x75, 0x5b, 0x3f, 0xb8, 0x81, 0xb7, 0x05, 0xb0, 0x0a, 0x9c, 0x2b, 0x3b, 0xa2, 0x7d, 0x7a, + 0x2d, 0x6a, 0x2d, 0xc5, 0xc1, 0xf1, 0x4d, 0xd9, 0x1c, 0x7c, 0x67, 0xc3, 0xbc, 0xe5, 0xe4, 0xec, + 0x29, 0xf2, 0xf6, 0x29, 0x98, 0x85, 0x57, 0xf4, 0x7a, 0xc4, 0x06, 0x52, 0xfe, 0x6e, 0x24, 0x34, + 0x96, 0xd9, 0x4b, 0x3b, 0x14, 0x03, 0x1c, 0x2e, 0xd5, 0xdf, 0xc2, 0xfe, 0x04, 0x1b, 0x47, 0x98, + 0x8c, 0x63, 0xf1, 0x9b, 0x23, 0xa5, 0xde, 0x9c, 0xa4, 0x1d, 0xc8, 0xdf, 0xd0, 0x0e, 0xca, 0x37, + 0xdf, 0x88, 0xff, 0x49, 0x70, 0x90, 0x98, 0x17, 0x0e, 0x3f, 0x49, 0xc6, 0x1d, 0x89, 0xa5, 0xed, + 0x87, 0x6c, 0xe0, 0xcd, 0x0a, 0xe5, 0x4e, 0x3b, 0x4f, 0xa0, 0x42, 0x83, 0xc0, 0x0f, 0xe2, 0x7c, + 0xe7, 0x2a, 0x1a, 0x4c, 0x42, 0x28, 0x72, 0xf1, 0xe6, 0xc7, 0x77, 0x8d, 0x33, 0xb7, 0x4f, 0x42, + 0x1f, 0x43, 0x3d, 0x65, 0xf1, 0x7d, 0x1a, 0xda, 0xf1, 0x53, 0xfe, 0xc5, 0xc6, 0x53, 0x48, 0x6a, + 0x50, 0xee, 0x0e, 0xc6, 0x96, 0xa1, 0x14, 0x48, 0x1d, 0x76, 0x4e, 0xc7, 0xe6, 0x67, 0x9a, 0xa9, + 0x2b, 0x12, 0x01, 0xa8, 0x0c, 0x7a, 0xd6, 0xd4, 0x18, 0x29, 0x32, 0xa9, 0x80, 0x3c, 0xb0, 0x94, + 0xe2, 0xf1, 0x39, 0x1c, 0x6c, 0xcd, 0x9c, 0x64, 0x1f, 0xa0, 0x3b, 0x9c, 0x21, 0xd7, 0xe8, 0x4e, + 0x95, 0x02, 0xb9, 0x07, 0x7b, 0xdd, 0xe1, 0x4c, 0xef, 0x59, 0x31, 0x4b, 0x22, 0x7b, 0x50, 0xeb, + 0x0e, 0x67, 0xd6, 0x54, 0x9b, 0x9e, 0x5b, 0x8a, 0x4c, 0x14, 0xd8, 0xed, 0x0e, 0x67, 0x67, 0xc6, + 0x74, 0x36, 0x31, 0x0c, 0x13, 0xcd, 0x9e, 0xc0, 0x5e, 0x66, 0x20, 0x42, 0x0d, 0xe3, 0xf9, 0xcc, + 0x18, 0x69, 0x9d, 0x01, 0xe2, 0xda, 0x07, 0x30, 0x9e, 0xa3, 0x4d, 0x46, 0x4b, 0xc7, 0xbf, 0x42, + 0x3a, 0x9e, 0x84, 0xc8, 0x2e, 0x54, 0x7b, 0xba, 0x31, 0x9a, 0xf6, 0x4e, 0x5f, 0x28, 0x05, 0x84, + 0x3d, 0x39, 0xef, 0x58, 0xe7, 0x1d, 0x7e, 0x30, 0x03, 0xf2, 0xcc, 0x30, 0x5f, 0x28, 0x32, 0xa9, + 0x42, 0x69, 0xa8, 0x8f, 0xf0, 0xc0, 0x7f, 0x49, 0x50, 0xeb, 0xa4, 0x4f, 0xeb, 0x58, 0x33, 0xdd, + 0x18, 0x18, 0x53, 0x83, 0x5b, 0xe8, 0x58, 0xb3, 0xc9, 0x39, 0x42, 0x3f, 0x80, 0x3a, 0x5f, 0xcf, + 0x86, 0xda, 0x08, 0x6d, 0xf0, 0xcd, 0x33, 0x63, 0xaa, 0x14, 0xc5, 0x26, 0x3a, 0xc2, 0x36, 0x4b, + 0x88, 0x53, 0x30, 0xb4, 0xc1, 0x40, 0x29, 0xa3, 0xa7, 0x82, 0x46, 0xe7, 0x2d, 0xa5, 0x22, 0xd4, + 0x3f, 0xd5, 0x2c, 0x65, 0x87, 0x34, 0xe1, 0x21, 0x5f, 0x7f, 0x3a, 0x1b, 0x8f, 0x66, 0xa6, 0xa1, + 0xe9, 0xb1, 0xc7, 0x55, 0xf2, 0x7d, 0xf8, 0xee, 0xf6, 0x5e, 0xec, 0x7e, 0xed, 0xf8, 0x03, 0x01, + 0x1e, 0x27, 0x32, 0xcc, 0x99, 0x6e, 0x9c, 0x6a, 0xe7, 0x03, 0x0c, 0xfe, 0x2e, 0x54, 0x3b, 0xd6, + 0xec, 0x74, 0x6c, 0x76, 0x31, 0x4c, 0x7f, 0x00, 0xd8, 0xbc, 0x48, 0x4c, 0x50, 0x3b, 0x63, 0x7e, + 0x15, 0x62, 0x02, 0xfd, 0x90, 0x10, 0x26, 0x12, 0x23, 0xe3, 0xb3, 0xd9, 0x68, 0xac, 0x1b, 0x8a, + 0x8c, 0x49, 0x44, 0x8e, 0xa6, 0xeb, 0xb3, 0x41, 0x6f, 0xd4, 0xb7, 0x94, 0x62, 0xcc, 0x42, 0x67, + 0x38, 0xab, 0x84, 0xa7, 0x21, 0x0b, 0x7d, 0x53, 0xca, 0xe8, 0x3c, 0x52, 0xa6, 0x31, 0x1c, 0x3f, + 0x33, 0x94, 0xca, 0x71, 0x1f, 0x6a, 0x49, 0x9f, 0x40, 0xbf, 0xfb, 0xdc, 0xef, 0x82, 0x58, 0xf3, + 0xa3, 0xf9, 0x1a, 0x31, 0xc9, 0x98, 0x86, 0x7e, 0x92, 0x86, 0x22, 0x42, 0xec, 0x5b, 0x33, 0x2c, + 0x41, 0xa5, 0xd4, 0xfe, 0x67, 0x11, 0x76, 0xb0, 0xb3, 0x6a, 0x93, 0x1e, 0x79, 0x02, 0xd5, 0x78, + 0x68, 0x27, 0xf7, 0xb3, 0x5f, 0x24, 0xac, 0x4f, 0x34, 0x1f, 0xe4, 0x7d, 0xa6, 0xa8, 0x05, 0x72, + 0x04, 0x15, 0x3e, 0x9f, 0x13, 0x3e, 0x83, 0xa7, 0x67, 0xf5, 0x26, 0x9b, 0xee, 0x8c, 0xe5, 0x2a, + 0xba, 0x66, 0x92, 0xc5, 0x49, 0x7b, 0x42, 0x92, 0x6f, 0x6b, 0x21, 0x73, 0x90, 0xd0, 0x89, 0xcd, + 0x5f, 0x02, 0x6c, 0x66, 0x4d, 0xf2, 0x9d, 0x64, 0x44, 0x4c, 0xf7, 0xf0, 0xe6, 0xc3, 0x6d, 0x76, + 0xa2, 0x7e, 0x06, 0xca, 0x86, 0x6f, 0xb1, 0x0f, 0xea, 0xf7, 0x36, 0x72, 0x24, 0x3d, 0x96, 0x10, + 0xb1, 0x6e, 0x5f, 0x72, 0xc4, 0x9b, 0xf9, 0x89, 0x23, 0x4e, 0x0d, 0x04, 0x6a, 0x01, 0xc3, 0x17, + 0xb7, 0x7a, 0x1e, 0xbe, 0xad, 0x17, 0x87, 0x87, 0x6f, 0xfb, 0x35, 0x50, 0x0b, 0xe4, 0x23, 0xd8, + 0x11, 0x3d, 0x8d, 0x90, 0x4c, 0x83, 0xe3, 0x6a, 0xf7, 0x73, 0x9a, 0x9e, 0x5a, 0xe8, 0x34, 0xfe, + 0xfd, 0xa6, 0x25, 0x7d, 0xf5, 0xa6, 0x25, 0xfd, 0xe7, 0x4d, 0x4b, 0xfa, 0xf3, 0xdb, 0x56, 0xe1, + 0xab, 0xb7, 0xad, 0xc2, 0xd7, 0x6f, 0x5b, 0x85, 0x8b, 0x0a, 0xfb, 0x1f, 0xf0, 0xe1, 0xff, 0x03, + 0x00, 0x00, 0xff, 0xff, 0xe3, 0xec, 0xee, 0xdc, 0x5e, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2809,10 +2837,20 @@ func (m *BlockstoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.RefId) > 0 { - i -= len(m.RefId) - copy(dAtA[i:], m.RefId) - i = encodeVarintNode(dAtA, i, uint64(len(m.RefId))) + if m.Progressive { + i-- + if m.Progressive { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if len(m.RefID) > 0 { + i -= len(m.RefID) + copy(dAtA[i:], m.RefID) + i = encodeVarintNode(dAtA, i, uint64(len(m.RefID))) i-- dAtA[i] = 0x42 } @@ -2978,10 +3016,20 @@ func (m *DagRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.RefId) > 0 { - i -= len(m.RefId) - copy(dAtA[i:], m.RefId) - i = encodeVarintNode(dAtA, i, uint64(len(m.RefId))) + if m.Progressive { + i-- + if m.Progressive { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if len(m.RefID) > 0 { + i -= len(m.RefID) + copy(dAtA[i:], m.RefID) + i = encodeVarintNode(dAtA, i, uint64(len(m.RefID))) i-- dAtA[i] = 0x4a } @@ -3391,10 +3439,20 @@ func (m *PersistRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.RefId) > 0 { - i -= len(m.RefId) - copy(dAtA[i:], m.RefId) - i = encodeVarintNode(dAtA, i, uint64(len(m.RefId))) + if m.Progressive { + i-- + if m.Progressive { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if len(m.RefID) > 0 { + i -= len(m.RefID) + copy(dAtA[i:], m.RefID) + i = encodeVarintNode(dAtA, i, uint64(len(m.RefID))) i-- dAtA[i] = 0x12 } @@ -3721,10 +3779,13 @@ func (m *BlockstoreRequest) Size() (n int) { if l > 0 { n += 1 + l + sovNode(uint64(l)) } - l = len(m.RefId) + l = len(m.RefID) if l > 0 { n += 1 + l + sovNode(uint64(l)) } + if m.Progressive { + n += 2 + } return n } @@ -3806,10 +3867,13 @@ func (m *DagRequest) Size() (n int) { n += mapEntrySize + 1 + sovNode(uint64(mapEntrySize)) } } - l = len(m.RefId) + l = len(m.RefID) if l > 0 { n += 1 + l + sovNode(uint64(l)) } + if m.Progressive { + n += 2 + } return n } @@ -3977,10 +4041,13 @@ func (m *PersistRequest) Size() (n int) { n += 1 + l + sovNode(uint64(l)) } } - l = len(m.RefId) + l = len(m.RefID) if l > 0 { n += 1 + l + sovNode(uint64(l)) } + if m.Progressive { + n += 2 + } return n } @@ -5633,7 +5700,7 @@ func (m *BlockstoreRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RefID", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5661,8 +5728,28 @@ func (m *BlockstoreRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RefId = string(dAtA[iNdEx:postIndex]) + m.RefID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Progressive", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Progressive = bool(v != 0) default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) @@ -6289,7 +6376,7 @@ func (m *DagRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RefID", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6317,8 +6404,28 @@ func (m *DagRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RefId = string(dAtA[iNdEx:postIndex]) + m.RefID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Progressive", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Progressive = bool(v != 0) default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) @@ -7429,7 +7536,7 @@ func (m *PersistRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RefId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RefID", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7457,8 +7564,28 @@ func (m *PersistRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RefId = string(dAtA[iNdEx:postIndex]) + m.RefID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Progressive", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Progressive = bool(v != 0) default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) diff --git a/js/file_grpc_pb.js b/js/file_grpc_pb.js index 634fab0..33d7260 100644 --- a/js/file_grpc_pb.js +++ b/js/file_grpc_pb.js @@ -38,6 +38,28 @@ function deserialize_pb_PutResponse(buffer_arg) { return util_pb.PutResponse.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_pb_RemoveRequest(arg) { + if (!(arg instanceof file_pb.RemoveRequest)) { + throw new Error('Expected argument of type pb.RemoveRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_pb_RemoveRequest(buffer_arg) { + return file_pb.RemoveRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_pb_RemoveResponse(arg) { + if (!(arg instanceof file_pb.RemoveResponse)) { + throw new Error('Expected argument of type pb.RemoveResponse'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_pb_RemoveResponse(buffer_arg) { + return file_pb.RemoveResponse.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_pb_UploadRequest(arg) { if (!(arg instanceof file_pb.UploadRequest)) { throw new Error('Expected argument of type pb.UploadRequest'); @@ -52,7 +74,7 @@ function deserialize_pb_UploadRequest(buffer_arg) { // FileAPI provides a gRPC api to upload/download files as UnixFS objects var FileAPIService = exports.FileAPIService = { - // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs add) + // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs pin add) uploadFile: { path: '/pb.FileAPI/UploadFile', requestStream: true, @@ -76,6 +98,18 @@ downloadFile: { responseSerialize: serialize_pb_DownloadResponse, responseDeserialize: deserialize_pb_DownloadResponse, }, + // RemoveFile allows removing a UnixFS object or decrease it's reference counter (equivalent to ipfs pin rm) +removeFile: { + path: '/pb.FileAPI/RemoveFile', + requestStream: false, + responseStream: false, + requestType: file_pb.RemoveRequest, + responseType: file_pb.RemoveResponse, + requestSerialize: serialize_pb_RemoveRequest, + requestDeserialize: deserialize_pb_RemoveRequest, + responseSerialize: serialize_pb_RemoveResponse, + responseDeserialize: deserialize_pb_RemoveResponse, + }, }; exports.FileAPIClient = grpc.makeGenericClientConstructor(FileAPIService); diff --git a/js/file_pb.js b/js/file_pb.js index 27c866f..063d88e 100644 --- a/js/file_pb.js +++ b/js/file_pb.js @@ -15,6 +15,8 @@ var util_pb = require('./util_pb.js'); goog.exportSymbol('proto.pb.Blob', null, global); goog.exportSymbol('proto.pb.DownloadRequest', null, global); goog.exportSymbol('proto.pb.DownloadResponse', null, global); +goog.exportSymbol('proto.pb.RemoveRequest', null, global); +goog.exportSymbol('proto.pb.RemoveResponse', null, global); goog.exportSymbol('proto.pb.UploadOptions', null, global); goog.exportSymbol('proto.pb.UploadRequest', null, global); @@ -269,7 +271,9 @@ proto.pb.UploadOptions.toObject = function(includeInstance, msg) { var f, obj = { multihash: jspb.Message.getFieldWithDefault(msg, 1, ""), layout: jspb.Message.getFieldWithDefault(msg, 2, ""), - chunker: jspb.Message.getFieldWithDefault(msg, 3, "") + chunker: jspb.Message.getFieldWithDefault(msg, 3, ""), + refid: jspb.Message.getFieldWithDefault(msg, 4, ""), + progressive: jspb.Message.getFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -318,6 +322,14 @@ proto.pb.UploadOptions.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {string} */ (reader.readString()); msg.setChunker(value); break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setRefid(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProgressive(value); + break; default: reader.skipField(); break; @@ -368,6 +380,20 @@ proto.pb.UploadOptions.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getRefid(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } + f = message.getProgressive(); + if (f) { + writer.writeBool( + 5, + f + ); + } }; @@ -416,6 +442,38 @@ proto.pb.UploadOptions.prototype.setChunker = function(value) { }; +/** + * optional string refID = 4; + * @return {string} + */ +proto.pb.UploadOptions.prototype.getRefid = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** @param {string} value */ +proto.pb.UploadOptions.prototype.setRefid = function(value) { + jspb.Message.setProto3StringField(this, 4, value); +}; + + +/** + * optional bool progressive = 5; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pb.UploadOptions.prototype.getProgressive = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 5, false)); +}; + + +/** @param {boolean} value */ +proto.pb.UploadOptions.prototype.setProgressive = function(value) { + jspb.Message.setProto3BooleanField(this, 5, value); +}; + + /** * Generated by JsPbCodeGenerator. @@ -1018,4 +1076,290 @@ proto.pb.Blob.prototype.setRangeend = function(value) { }; + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pb.RemoveRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.pb.RemoveRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.pb.RemoveRequest.displayName = 'proto.pb.RemoveRequest'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ +proto.pb.RemoveRequest.prototype.toObject = function(opt_includeInstance) { + return proto.pb.RemoveRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pb.RemoveRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pb.RemoveRequest.toObject = function(includeInstance, msg) { + var f, obj = { + refidsMap: (f = msg.getRefidsMap()) ? f.toObject(includeInstance, undefined) : [] + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pb.RemoveRequest} + */ +proto.pb.RemoveRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pb.RemoveRequest; + return proto.pb.RemoveRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pb.RemoveRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pb.RemoveRequest} + */ +proto.pb.RemoveRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = msg.getRefidsMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, ""); + }); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pb.RemoveRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pb.RemoveRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pb.RemoveRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pb.RemoveRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getRefidsMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); + } +}; + + +/** + * map refIDs = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.pb.RemoveRequest.prototype.getRefidsMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + null)); +}; + + +proto.pb.RemoveRequest.prototype.clearRefidsMap = function() { + this.getRefidsMap().clear(); +}; + + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pb.RemoveResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.pb.RemoveResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.pb.RemoveResponse.displayName = 'proto.pb.RemoveResponse'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ +proto.pb.RemoveResponse.prototype.toObject = function(opt_includeInstance) { + return proto.pb.RemoveResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pb.RemoveResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pb.RemoveResponse.toObject = function(includeInstance, msg) { + var f, obj = { + count: jspb.Message.getFieldWithDefault(msg, 1, 0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pb.RemoveResponse} + */ +proto.pb.RemoveResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pb.RemoveResponse; + return proto.pb.RemoveResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pb.RemoveResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pb.RemoveResponse} + */ +proto.pb.RemoveResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readUint64()); + msg.setCount(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pb.RemoveResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pb.RemoveResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pb.RemoveResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pb.RemoveResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCount(); + if (f !== 0) { + writer.writeUint64( + 1, + f + ); + } +}; + + +/** + * optional uint64 count = 1; + * @return {number} + */ +proto.pb.RemoveResponse.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +}; + + +/** @param {number} value */ +proto.pb.RemoveResponse.prototype.setCount = function(value) { + jspb.Message.setProto3IntField(this, 1, value); +}; + + goog.object.extend(exports, proto.pb); diff --git a/js/node_pb.js b/js/node_pb.js index cb406ed..25c9db8 100644 --- a/js/node_pb.js +++ b/js/node_pb.js @@ -1935,7 +1935,9 @@ proto.pb.BlockstoreRequest.toObject = function(includeInstance, msg) { cidsList: jspb.Message.getRepeatedField(msg, 3), dataList: msg.getDataList_asB64(), cidversion: jspb.Message.getFieldWithDefault(msg, 5, ""), - hashfunc: jspb.Message.getFieldWithDefault(msg, 7, "") + hashfunc: jspb.Message.getFieldWithDefault(msg, 7, ""), + refid: jspb.Message.getFieldWithDefault(msg, 8, ""), + progressive: jspb.Message.getFieldWithDefault(msg, 9, false) }; if (includeInstance) { @@ -1996,6 +1998,14 @@ proto.pb.BlockstoreRequest.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {string} */ (reader.readString()); msg.setHashfunc(value); break; + case 8: + var value = /** @type {string} */ (reader.readString()); + msg.setRefid(value); + break; + case 9: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProgressive(value); + break; default: reader.skipField(); break; @@ -2067,6 +2077,20 @@ proto.pb.BlockstoreRequest.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getRefid(); + if (f.length > 0) { + writer.writeString( + 8, + f + ); + } + f = message.getProgressive(); + if (f) { + writer.writeBool( + 9, + f + ); + } }; @@ -2226,6 +2250,38 @@ proto.pb.BlockstoreRequest.prototype.setHashfunc = function(value) { }; +/** + * optional string refID = 8; + * @return {string} + */ +proto.pb.BlockstoreRequest.prototype.getRefid = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "")); +}; + + +/** @param {string} value */ +proto.pb.BlockstoreRequest.prototype.setRefid = function(value) { + jspb.Message.setProto3StringField(this, 8, value); +}; + + +/** + * optional bool progressive = 9; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pb.BlockstoreRequest.prototype.getProgressive = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 9, false)); +}; + + +/** @param {boolean} value */ +proto.pb.BlockstoreRequest.prototype.setProgressive = function(value) { + jspb.Message.setProto3BooleanField(this, 9, value); +}; + + /** * Generated by JsPbCodeGenerator. @@ -2695,7 +2751,9 @@ proto.pb.DagRequest.toObject = function(includeInstance, msg) { hashfunc: jspb.Message.getFieldWithDefault(msg, 5, ""), cidversion: jspb.Message.getFieldWithDefault(msg, 6, 0), hash: jspb.Message.getFieldWithDefault(msg, 7, ""), - linksMap: (f = msg.getLinksMap()) ? f.toObject(includeInstance, undefined) : [] + linksMap: (f = msg.getLinksMap()) ? f.toObject(includeInstance, undefined) : [], + refid: jspb.Message.getFieldWithDefault(msg, 9, ""), + progressive: jspb.Message.getFieldWithDefault(msg, 10, false) }; if (includeInstance) { @@ -2766,6 +2824,14 @@ proto.pb.DagRequest.deserializeBinaryFromReader = function(msg, reader) { jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, ""); }); break; + case 9: + var value = /** @type {string} */ (reader.readString()); + msg.setRefid(value); + break; + case 10: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProgressive(value); + break; default: reader.skipField(); break; @@ -2848,6 +2914,20 @@ proto.pb.DagRequest.serializeBinaryToWriter = function(message, writer) { if (f && f.getLength() > 0) { f.serializeBinary(8, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); } + f = message.getRefid(); + if (f.length > 0) { + writer.writeString( + 9, + f + ); + } + f = message.getProgressive(); + if (f) { + writer.writeBool( + 10, + f + ); + } }; @@ -2998,6 +3078,38 @@ proto.pb.DagRequest.prototype.clearLinksMap = function() { }; +/** + * optional string refID = 9; + * @return {string} + */ +proto.pb.DagRequest.prototype.getRefid = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "")); +}; + + +/** @param {string} value */ +proto.pb.DagRequest.prototype.setRefid = function(value) { + jspb.Message.setProto3StringField(this, 9, value); +}; + + +/** + * optional bool progressive = 10; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pb.DagRequest.prototype.getProgressive = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 10, false)); +}; + + +/** @param {boolean} value */ +proto.pb.DagRequest.prototype.setProgressive = function(value) { + jspb.Message.setProto3BooleanField(this, 10, value); +}; + + /** * Generated by JsPbCodeGenerator. @@ -3057,7 +3169,8 @@ proto.pb.DagResponse.toObject = function(includeInstance, msg) { rawdata: msg.getRawdata_asB64(), linksList: jspb.Message.toObjectList(msg.getLinksList(), proto.pb.IPLDLink.toObject, includeInstance), - nodestatsMap: (f = msg.getNodestatsMap()) ? f.toObject(includeInstance, proto.pb.IPLDStat.toObject) : [] + nodestatsMap: (f = msg.getNodestatsMap()) ? f.toObject(includeInstance, proto.pb.IPLDStat.toObject) : [], + count: jspb.Message.getFieldWithDefault(msg, 6, 0) }; if (includeInstance) { @@ -3117,6 +3230,10 @@ proto.pb.DagResponse.deserializeBinaryFromReader = function(msg, reader) { jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.pb.IPLDStat.deserializeBinaryFromReader, ""); }); break; + case 6: + var value = /** @type {number} */ (reader.readUint64()); + msg.setCount(value); + break; default: reader.skipField(); break; @@ -3179,6 +3296,13 @@ proto.pb.DagResponse.serializeBinaryToWriter = function(message, writer) { if (f && f.getLength() > 0) { f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.pb.IPLDStat.serializeBinaryToWriter); } + f = message.getCount(); + if (f !== 0) { + writer.writeUint64( + 6, + f + ); + } }; @@ -3314,6 +3438,21 @@ proto.pb.DagResponse.prototype.clearNodestatsMap = function() { }; +/** + * optional uint64 count = 6; + * @return {number} + */ +proto.pb.DagResponse.prototype.getCount = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); +}; + + +/** @param {number} value */ +proto.pb.DagResponse.prototype.setCount = function(value) { + jspb.Message.setProto3IntField(this, 6, value); +}; + + /** * Generated by JsPbCodeGenerator. @@ -4547,7 +4686,9 @@ proto.pb.PersistRequest.prototype.toObject = function(opt_includeInstance) { */ proto.pb.PersistRequest.toObject = function(includeInstance, msg) { var f, obj = { - cidsList: jspb.Message.getRepeatedField(msg, 1) + cidsList: jspb.Message.getRepeatedField(msg, 1), + refid: jspb.Message.getFieldWithDefault(msg, 2, ""), + progressive: jspb.Message.getFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -4588,6 +4729,14 @@ proto.pb.PersistRequest.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {string} */ (reader.readString()); msg.addCids(value); break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setRefid(value); + break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProgressive(value); + break; default: reader.skipField(); break; @@ -4624,6 +4773,20 @@ proto.pb.PersistRequest.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getRefid(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getProgressive(); + if (f) { + writer.writeBool( + 5, + f + ); + } }; @@ -4656,6 +4819,38 @@ proto.pb.PersistRequest.prototype.clearCidsList = function() { }; +/** + * optional string refID = 2; + * @return {string} + */ +proto.pb.PersistRequest.prototype.getRefid = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** @param {string} value */ +proto.pb.PersistRequest.prototype.setRefid = function(value) { + jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional bool progressive = 5; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pb.PersistRequest.prototype.getProgressive = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 5, false)); +}; + + +/** @param {boolean} value */ +proto.pb.PersistRequest.prototype.setProgressive = function(value) { + jspb.Message.setProto3BooleanField(this, 5, value); +}; + + /** * Generated by JsPbCodeGenerator. @@ -4900,7 +5095,8 @@ proto.pb.DAGREQTYPE = { DAG_NEW_NODE: 2, DAG_ADD_LINKS: 3, DAG_GET_LINKS: 4, - DAG_STAT: 5 + DAG_STAT: 5, + DAG_REMOVE: 6 }; /** diff --git a/package-lock.json b/package-lock.json index 94aa8d9..044568f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2,41 +2,144 @@ "requires": true, "lockfileVersion": 1, "dependencies": { + "@grpc/proto-loader": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.5.4.tgz", + "integrity": "sha512-HTM4QpI9B2XFkPz7pjwMyMgZchJ93TVkL3kWPW8GDMDKYxsMnmf4w2TNMJK7+KNiYHS5cJrCEAFlF+AwtXWVPA==", + "requires": { + "lodash.camelcase": "^4.3.0", + "protobufjs": "^6.8.6" + }, + "dependencies": { + "@types/node": { + "version": "13.13.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.12.tgz", + "integrity": "sha512-zWz/8NEPxoXNT9YyF2osqyA9WjssZukYpgI4UYZpOjcyqwIUqWGkcCionaEb9Ki+FULyPyvNFpg/329Kd2/pbw==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "protobufjs": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.9.0.tgz", + "integrity": "sha512-LlGVfEWDXoI/STstRDdZZKb/qusoAWUnmLg9R8OLSO473mBLWHowx8clbX5/+mKDEI+v7GzjoK9tRPZMMcoTrg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": "^13.7.0", + "long": "^4.0.0" + } + } + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, "@types/bytebuffer": { - "version": "5.0.40", - "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.40.tgz", - "integrity": "sha512-h48dyzZrPMz25K6Q4+NCwWaxwXany2FhQg/ErOcdZS1ZpsaDnDMZg8JYLMTGz7uvXKrcKGJUZJlZObyfgdaN9g==", + "version": "5.0.41", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.41.tgz", + "integrity": "sha512-Mdrv4YcaHvpkx25ksqqFaezktx3yZRcd51GZY0rY/9avyaqZdiT/GiWRhfrJhMpgzXqTOSHgGvsumGxJFNiZZA==", "requires": { "@types/long": "*", "@types/node": "*" } }, "@types/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", - "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" }, "@types/node": { - "version": "12.12.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", - "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==" - }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } + "version": "14.0.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz", + "integrity": "sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "ascli": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", @@ -46,47 +149,11 @@ "optjs": "~3.2.2" } }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", - "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -109,10 +176,10 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "cliui": { "version": "3.2.0", @@ -134,30 +201,27 @@ "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "assert-plus": "^1.0.0" + "ms": "^2.1.1" } }, "decamelize": { @@ -165,53 +229,27 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -219,12 +257,19 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { - "assert-plus": "^1.0.0" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -241,995 +286,69 @@ } }, "google-protobuf": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.11.1.tgz", - "integrity": "sha512-1fdyssLSa7Dip+MDdluLl0uK+2rspgU1PrbdPJKt7hywqSl3+R27TkLYKuBn9dvOyr0VQ0cliQWlfMheW5WKqA==" + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.12.2.tgz", + "integrity": "sha512-4CZhpuRr1d6HjlyrxoXoocoGFnRYgKULgMtikMddA9ztRyYR59Aondv2FioyxWVamRo0rF2XpYawkTCBEQOSkA==" }, "grpc": { - "version": "1.24.2", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.2.tgz", - "integrity": "sha512-EG3WH6AWMVvAiV15d+lr+K77HJ/KV/3FvMpjKjulXHbTwgDZkhkcWbwhxFAoTdxTkQvy0WFcO3Nog50QBbHZWw==", + "version": "1.24.3", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.24.3.tgz", + "integrity": "sha512-EDemzuZTfhM0hgrXqC4PtR76O3t+hTIYJYR5vgiW0yt2WJqo4mhxUqZUirzUQz34Psz7dbLp38C6Cl7Ij2vXRQ==", "requires": { "@types/bytebuffer": "^5.0.40", "lodash.camelcase": "^4.3.0", "lodash.clone": "^4.5.0", "nan": "^2.13.2", - "node-pre-gyp": "^0.14.0", - "protobufjs": "^5.0.3" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "needle": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" - }, - "npm-packlist": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz", - "integrity": "sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "grpc-tools": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/grpc-tools/-/grpc-tools-1.8.0.tgz", - "integrity": "sha512-GzYHjPQ/sbV/DmnNRksapMlLj26Tvq2Qppmzjmd+lHYZNeWM1feiGsYCduzJLyy295P+3uYIPy2/w/1thAnOow==", - "requires": { - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "needle": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz", - "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==", - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" - }, - "npm-packlist": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "tar": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "node-pre-gyp": "^0.15.0", + "protobufjs": "^5.0.3" + } + }, + "grpc-tools": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/grpc-tools/-/grpc-tools-1.9.0.tgz", + "integrity": "sha512-du10qytFNDVNYGJQ/AxXTF6lXchgCZ7ls8BtBDCtnuinjGbnPFHpOIzoEAT8NsmgFg4RCpsWW8vsQ+RCyQ3SXA==", + "requires": { + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "node-pre-gyp": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "requires": { - "string-width": "^1.0.2 || 2" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" } } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "safer-buffer": ">= 2.1.2 < 3" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "minimatch": "^3.0.4" } }, "inflight": { @@ -1246,6 +365,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -1259,46 +383,10 @@ "number-is-nan": "^1.0.0" } }, - "is-typedarray": { + "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "lcid": { "version": "1.0.0", @@ -1323,19 +411,6 @@ "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" }, - "mime-db": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", - "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" - }, - "mime-types": { - "version": "2.1.25", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", - "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", - "requires": { - "mime-db": "1.42.0" - } - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -1344,20 +419,125 @@ "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" + }, + "needle": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz", + "integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz", + "integrity": "sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA==", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.3", + "needle": "^2.5.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", @@ -1372,6 +552,11 @@ "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", @@ -1380,30 +565,29 @@ "lcid": "^1.0.0" } }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "protobuf": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/protobuf/-/protobuf-0.11.1.tgz", - "integrity": "sha1-+CZ0t/bYoVQ/oToMirw55dTI0U4=", - "requires": { - "nan": "~1.0.0" - }, - "dependencies": { - "nan": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz", - "integrity": "sha1-riT4hQgY1mL8q1rPfzuVv6oszzg=" - } - } + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "protobufjs": { "version": "5.0.3", @@ -1416,527 +600,44 @@ "yargs": "^3.10.0" } }, - "protoc-gen-grpc": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/protoc-gen-grpc/-/protoc-gen-grpc-1.3.7.tgz", - "integrity": "sha512-OkTia22M37/vFhRBIoW6ZqYZYpL/yz12YOse7nVcs1NmEm56ckprsjuIel5DrVGKVlUjpfl+ENqO2w3Mx+3sPg==", + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { - "google-protobuf": "^3.8.0", - "node-pre-gyp": "^0.13.0", - "request": "^2.88.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" }, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "needle": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz", - "integrity": "sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" - }, - "npm-packlist": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz", - "integrity": "sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, - "psl": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.5.0.tgz", - "integrity": "sha512-4vqUjKi2huMu1OJiLhi3jN6jeeKvMZdI1tYgi/njW5zV52jNLgSAZSdN16m9bJFe61/cT8ulmw4qFitV9QRsEA==" - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "glob": "^7.1.3" } }, "safe-buffer": { @@ -1949,21 +650,25 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "string-width": { "version": "1.0.2", @@ -1975,6 +680,21 @@ "strip-ansi": "^3.0.0" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -1983,20 +703,23 @@ "ansi-regex": "^2.0.0" } }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" } }, "ts-protoc-gen": { @@ -2007,40 +730,17 @@ "google-protobuf": "^3.6.1" } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "string-width": "^1.0.2 || 2" } }, "window-size": { @@ -2067,6 +767,11 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, "yargs": { "version": "3.32.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", diff --git a/pb/file.proto b/pb/file.proto index 22dbb6b..41bf9ab 100644 --- a/pb/file.proto +++ b/pb/file.proto @@ -5,11 +5,11 @@ import "util.proto"; // FileAPI provides a gRPC api to upload/download files as UnixFS objects service FileAPI { // UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs pin add) - rpc UploadFile(stream UploadRequest) returns (PutResponse) { }; + rpc UploadFile(stream UploadRequest) returns (PutResponse) {}; // DownloadFile allows downloading a UnixFS object (equivalent to ipfs get) - rpc DownloadFile(DownloadRequest) returns (stream DownloadResponse) { }; + rpc DownloadFile(DownloadRequest) returns (stream DownloadResponse) {}; // RemoveFile allows removing a UnixFS object or decrease it's reference counter (equivalent to ipfs pin rm) - rpc RemoveFile(RemoveRequest) returns (RemoveResponse) { }; + rpc RemoveFile(RemoveRequest) returns (RemoveResponse) {}; } @@ -17,20 +17,22 @@ service FileAPI { message UploadRequest { // blob is a single chunk of data Blob blob = 1; - // options allows setting the optoins for this upload + // options allows setting the options for this upload, only valid in the first message of a stream UploadOptions options = 2; - // optional reference ID to mark the file with, only valid in the first message of a stream - string refId = 3; } // UploadOptions allows controlling the parameters of a file upload message UploadOptions { - // specifes the multihash function to use + // specifies the multihash function to use string multiHash = 1; // specifies the dag layout (balanced, tricklet) string layout = 2; // specifies the chunker type (rabin, default, etc...) string chunker = 3; + // optional reference ID to tag the file with. If set, the same reference ID must be used for deletion + string refID = 4; + // if refID is set, allows progressive upload + bool progressive = 5; } // DownloadRequest is used to download a UnixFS object @@ -45,7 +47,7 @@ message DownloadRequest { int32 chunkSize = 2; // Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range. // If both is none zero, only data within range is requested. - // The unit of range is alway in bytes. + // The unit of range is always in bytes. // If used, please check the returned range values in blobs to make sure this feature is supported. uint64 rangeStart = 3; uint64 rangeEnd = 4; @@ -64,7 +66,7 @@ message Blob { bytes content = 1; // Range start and end mirrors developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range. // If both is zero, the blobs streams contents of the file from start to finish. - // The unit of range is alway in bytes. + // The unit of range is always in bytes. // Currently, DownloadResponse support blob range. uint64 rangeStart = 2; uint64 rangeEnd = 3; @@ -72,13 +74,13 @@ message Blob { // UploadRequest is used to decrease the reference count on UnixFS objects message RemoveRequest{ - // refIds is a map of reference IDs to hash/cid of objects to remove those refernece counts - map refIds = 1; + // refIDs is a map of reference IDs to hash/cid of objects to remove those reference counts + map refIDs = 1; } // RemoveResponse contains the response to a remove request message RemoveResponse{ // The number of removal operations performed. - // A missing count is because the refId to hash pair was already removed or was never added + // A missing count is because the refID to hash pair was already removed or was never added uint64 count = 1; } \ No newline at end of file diff --git a/pb/node.proto b/pb/node.proto index 9c2a1e4..088e161 100644 --- a/pb/node.proto +++ b/pb/node.proto @@ -212,10 +212,12 @@ message BlockstoreRequest { // when sent by BS_PUT, BS_PUT_MANY: only put if the id is not marked on block, otherwise noop // when sent by BS_GET, BS_GET_MANY: only get if the id is marked on block // when sent by BS_DELETE: only delete if the id is marked on block - string refId = 8; + string refID = 8; + // if refID is set, allows progressive upload + bool progressive = 9; } -// BlockstoreResponse is a response to a BlockstoreqRequest +// BlockstoreResponse is a response to a BlockstoreRequest message BlockstoreResponse { // indicates the particular request type being made BSREQTYPE requestType = 1; @@ -237,7 +239,7 @@ message Block { // data is the actual contents of the block bytes data = 2; // size of the block, only filled out by BS_GET_STATS - // since if we just want stats, we dont want to + // since if we just want stats, we don't want to // retrieve all the data. int64 size = 3; } @@ -288,7 +290,9 @@ message DagRequest { map links = 8; // optional reference ID to mark the cid/hash with // sent by: DAG_PUT, DAG_REMOVE - string refId = 9; + string refID = 9; + // if refID is set, allows progressive upload + bool progressive = 10; } // Used in response to a Dag or DagStream RPC @@ -391,7 +395,9 @@ message PersistRequest { // cids to persist locally repeated string cids = 1; // optional reference ID to mark the cids with - string refId = 2; + string refID = 2; + // if refID is set, allows progressive upload + bool progressive = 5; } message PersistResponse { diff --git a/pb/util.proto b/pb/util.proto index fddf1ed..3993904 100644 --- a/pb/util.proto +++ b/pb/util.proto @@ -8,4 +8,4 @@ message PutResponse { } // Empty is an empty message -message Empty { } \ No newline at end of file +message Empty {} diff --git a/py/admin_pb2_grpc.py b/py/admin_pb2_grpc.py index 8f56c85..d4f3c3e 100644 --- a/py/admin_pb2_grpc.py +++ b/py/admin_pb2_grpc.py @@ -5,59 +5,97 @@ class AdminAPIStub(object): - """AdminAPI facilitates administrative management of TemporalX via a localhost gRPC API - """ + """AdminAPI facilitates administrative management of TemporalX via a localhost gRPC API + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.ManageGC = channel.unary_unary( - '/pb.AdminAPI/ManageGC', - request_serializer=admin__pb2.ManageGCRequest.SerializeToString, - response_deserializer=admin__pb2.ManageGCResponse.FromString, - ) - self.RefCount = channel.unary_unary( - '/pb.AdminAPI/RefCount', - request_serializer=admin__pb2.RefCountRequest.SerializeToString, - response_deserializer=admin__pb2.RefCountResponse.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.ManageGC = channel.unary_unary( + '/pb.AdminAPI/ManageGC', + request_serializer=admin__pb2.ManageGCRequest.SerializeToString, + response_deserializer=admin__pb2.ManageGCResponse.FromString, + ) + self.RefCount = channel.unary_unary( + '/pb.AdminAPI/RefCount', + request_serializer=admin__pb2.RefCountRequest.SerializeToString, + response_deserializer=admin__pb2.RefCountResponse.FromString, + ) class AdminAPIServicer(object): - """AdminAPI facilitates administrative management of TemporalX via a localhost gRPC API - """ - - def ManageGC(self, request, context): - """ManageGC is used to manage TemporalX's garbage collection process + """AdminAPI facilitates administrative management of TemporalX via a localhost gRPC API """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def RefCount(self, request, context): - """RefCount is used to analyze the counter store and pull reference count information - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def ManageGC(self, request, context): + """ManageGC is used to manage TemporalX's garbage collection process + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RefCount(self, request, context): + """RefCount is used to analyze the counter store and pull reference count information + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_AdminAPIServicer_to_server(servicer, server): - rpc_method_handlers = { - 'ManageGC': grpc.unary_unary_rpc_method_handler( - servicer.ManageGC, - request_deserializer=admin__pb2.ManageGCRequest.FromString, - response_serializer=admin__pb2.ManageGCResponse.SerializeToString, - ), - 'RefCount': grpc.unary_unary_rpc_method_handler( - servicer.RefCount, - request_deserializer=admin__pb2.RefCountRequest.FromString, - response_serializer=admin__pb2.RefCountResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'pb.AdminAPI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'ManageGC': grpc.unary_unary_rpc_method_handler( + servicer.ManageGC, + request_deserializer=admin__pb2.ManageGCRequest.FromString, + response_serializer=admin__pb2.ManageGCResponse.SerializeToString, + ), + 'RefCount': grpc.unary_unary_rpc_method_handler( + servicer.RefCount, + request_deserializer=admin__pb2.RefCountRequest.FromString, + response_serializer=admin__pb2.RefCountResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pb.AdminAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class AdminAPI(object): + """AdminAPI facilitates administrative management of TemporalX via a localhost gRPC API + """ + + @staticmethod + def ManageGC(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.AdminAPI/ManageGC', + admin__pb2.ManageGCRequest.SerializeToString, + admin__pb2.ManageGCResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RefCount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.AdminAPI/RefCount', + admin__pb2.RefCountRequest.SerializeToString, + admin__pb2.RefCountResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/py/file_pb2.py b/py/file_pb2.py index e754902..0e0aba4 100644 --- a/py/file_pb2.py +++ b/py/file_pb2.py @@ -19,7 +19,7 @@ package='pb', syntax='proto3', serialized_options=None, - serialized_pb=b'\n\nfile.proto\x12\x02pb\x1a\nutil.proto\"K\n\rUploadRequest\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\x12\"\n\x07options\x18\x02 \x01(\x0b\x32\x11.pb.UploadOptions\"C\n\rUploadOptions\x12\x11\n\tmultiHash\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x0f\n\x07\x63hunker\x18\x03 \x01(\t\"X\n\x0f\x44ownloadRequest\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x11\n\tchunkSize\x18\x02 \x01(\x05\x12\x12\n\nrangeStart\x18\x03 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x04 \x01(\x04\"*\n\x10\x44ownloadResponse\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\"=\n\x04\x42lob\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\x0c\x12\x12\n\nrangeStart\x18\x02 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x03 \x01(\x04\x32~\n\x07\x46ileAPI\x12\x34\n\nUploadFile\x12\x11.pb.UploadRequest\x1a\x0f.pb.PutResponse\"\x00(\x01\x12=\n\x0c\x44ownloadFile\x12\x13.pb.DownloadRequest\x1a\x14.pb.DownloadResponse\"\x00\x30\x01\x62\x06proto3' + serialized_pb=b'\n\nfile.proto\x12\x02pb\x1a\nutil.proto\"K\n\rUploadRequest\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\x12\"\n\x07options\x18\x02 \x01(\x0b\x32\x11.pb.UploadOptions\"g\n\rUploadOptions\x12\x11\n\tmultiHash\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x0f\n\x07\x63hunker\x18\x03 \x01(\t\x12\r\n\x05refID\x18\x04 \x01(\t\x12\x13\n\x0bprogressive\x18\x05 \x01(\x08\"X\n\x0f\x44ownloadRequest\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x11\n\tchunkSize\x18\x02 \x01(\x05\x12\x12\n\nrangeStart\x18\x03 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x04 \x01(\x04\"*\n\x10\x44ownloadResponse\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\"=\n\x04\x42lob\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\x0c\x12\x12\n\nrangeStart\x18\x02 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x03 \x01(\x04\"m\n\rRemoveRequest\x12-\n\x06refIDs\x18\x01 \x03(\x0b\x32\x1d.pb.RemoveRequest.RefIDsEntry\x1a-\n\x0bRefIDsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1f\n\x0eRemoveResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x32\xb5\x01\n\x07\x46ileAPI\x12\x34\n\nUploadFile\x12\x11.pb.UploadRequest\x1a\x0f.pb.PutResponse\"\x00(\x01\x12=\n\x0c\x44ownloadFile\x12\x13.pb.DownloadRequest\x1a\x14.pb.DownloadResponse\"\x00\x30\x01\x12\x35\n\nRemoveFile\x12\x11.pb.RemoveRequest\x1a\x12.pb.RemoveResponse\"\x00\x62\x06proto3' , dependencies=[util__pb2.DESCRIPTOR,]) @@ -92,6 +92,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='refID', full_name='pb.UploadOptions.refID', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='progressive', full_name='pb.UploadOptions.progressive', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -105,7 +119,7 @@ oneofs=[ ], serialized_start=107, - serialized_end=174, + serialized_end=210, ) @@ -156,8 +170,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=176, - serialized_end=264, + serialized_start=212, + serialized_end=300, ) @@ -187,8 +201,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=266, - serialized_end=308, + serialized_start=302, + serialized_end=344, ) @@ -232,18 +246,121 @@ extension_ranges=[], oneofs=[ ], - serialized_start=310, - serialized_end=371, + serialized_start=346, + serialized_end=407, +) + + +_REMOVEREQUEST_REFIDSENTRY = _descriptor.Descriptor( + name='RefIDsEntry', + full_name='pb.RemoveRequest.RefIDsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='pb.RemoveRequest.RefIDsEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='pb.RemoveRequest.RefIDsEntry.value', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=473, + serialized_end=518, +) + +_REMOVEREQUEST = _descriptor.Descriptor( + name='RemoveRequest', + full_name='pb.RemoveRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='refIDs', full_name='pb.RemoveRequest.refIDs', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_REMOVEREQUEST_REFIDSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=409, + serialized_end=518, +) + + +_REMOVERESPONSE = _descriptor.Descriptor( + name='RemoveResponse', + full_name='pb.RemoveResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='count', full_name='pb.RemoveResponse.count', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=520, + serialized_end=551, ) _UPLOADREQUEST.fields_by_name['blob'].message_type = _BLOB _UPLOADREQUEST.fields_by_name['options'].message_type = _UPLOADOPTIONS _DOWNLOADRESPONSE.fields_by_name['blob'].message_type = _BLOB +_REMOVEREQUEST_REFIDSENTRY.containing_type = _REMOVEREQUEST +_REMOVEREQUEST.fields_by_name['refIDs'].message_type = _REMOVEREQUEST_REFIDSENTRY DESCRIPTOR.message_types_by_name['UploadRequest'] = _UPLOADREQUEST DESCRIPTOR.message_types_by_name['UploadOptions'] = _UPLOADOPTIONS DESCRIPTOR.message_types_by_name['DownloadRequest'] = _DOWNLOADREQUEST DESCRIPTOR.message_types_by_name['DownloadResponse'] = _DOWNLOADRESPONSE DESCRIPTOR.message_types_by_name['Blob'] = _BLOB +DESCRIPTOR.message_types_by_name['RemoveRequest'] = _REMOVEREQUEST +DESCRIPTOR.message_types_by_name['RemoveResponse'] = _REMOVERESPONSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) UploadRequest = _reflection.GeneratedProtocolMessageType('UploadRequest', (_message.Message,), { @@ -281,7 +398,30 @@ }) _sym_db.RegisterMessage(Blob) +RemoveRequest = _reflection.GeneratedProtocolMessageType('RemoveRequest', (_message.Message,), { + 'RefIDsEntry' : _reflection.GeneratedProtocolMessageType('RefIDsEntry', (_message.Message,), { + 'DESCRIPTOR' : _REMOVEREQUEST_REFIDSENTRY, + '__module__' : 'file_pb2' + # @@protoc_insertion_point(class_scope:pb.RemoveRequest.RefIDsEntry) + }) + , + 'DESCRIPTOR' : _REMOVEREQUEST, + '__module__' : 'file_pb2' + # @@protoc_insertion_point(class_scope:pb.RemoveRequest) + }) +_sym_db.RegisterMessage(RemoveRequest) +_sym_db.RegisterMessage(RemoveRequest.RefIDsEntry) + +RemoveResponse = _reflection.GeneratedProtocolMessageType('RemoveResponse', (_message.Message,), { + 'DESCRIPTOR' : _REMOVERESPONSE, + '__module__' : 'file_pb2' + # @@protoc_insertion_point(class_scope:pb.RemoveResponse) + }) +_sym_db.RegisterMessage(RemoveResponse) + + +_REMOVEREQUEST_REFIDSENTRY._options = None _FILEAPI = _descriptor.ServiceDescriptor( name='FileAPI', @@ -289,8 +429,8 @@ file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=373, - serialized_end=499, + serialized_start=554, + serialized_end=735, methods=[ _descriptor.MethodDescriptor( name='UploadFile', @@ -310,6 +450,15 @@ output_type=_DOWNLOADRESPONSE, serialized_options=None, ), + _descriptor.MethodDescriptor( + name='RemoveFile', + full_name='pb.FileAPI.RemoveFile', + index=2, + containing_service=None, + input_type=_REMOVEREQUEST, + output_type=_REMOVERESPONSE, + serialized_options=None, + ), ]) _sym_db.RegisterServiceDescriptor(_FILEAPI) diff --git a/py/file_pb2_grpc.py b/py/file_pb2_grpc.py index 46744b2..1bbc72a 100644 --- a/py/file_pb2_grpc.py +++ b/py/file_pb2_grpc.py @@ -6,59 +6,130 @@ class FileAPIStub(object): - """FileAPI provides a gRPC api to upload/download files as UnixFS objects - """ + """FileAPI provides a gRPC api to upload/download files as UnixFS objects + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.UploadFile = channel.stream_unary( - '/pb.FileAPI/UploadFile', - request_serializer=file__pb2.UploadRequest.SerializeToString, - response_deserializer=util__pb2.PutResponse.FromString, - ) - self.DownloadFile = channel.unary_stream( - '/pb.FileAPI/DownloadFile', - request_serializer=file__pb2.DownloadRequest.SerializeToString, - response_deserializer=file__pb2.DownloadResponse.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.UploadFile = channel.stream_unary( + '/pb.FileAPI/UploadFile', + request_serializer=file__pb2.UploadRequest.SerializeToString, + response_deserializer=util__pb2.PutResponse.FromString, + ) + self.DownloadFile = channel.unary_stream( + '/pb.FileAPI/DownloadFile', + request_serializer=file__pb2.DownloadRequest.SerializeToString, + response_deserializer=file__pb2.DownloadResponse.FromString, + ) + self.RemoveFile = channel.unary_unary( + '/pb.FileAPI/RemoveFile', + request_serializer=file__pb2.RemoveRequest.SerializeToString, + response_deserializer=file__pb2.RemoveResponse.FromString, + ) class FileAPIServicer(object): - """FileAPI provides a gRPC api to upload/download files as UnixFS objects - """ - - def UploadFile(self, request_iterator, context): - """UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs add) + """FileAPI provides a gRPC api to upload/download files as UnixFS objects """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def DownloadFile(self, request, context): - """DownloadFile allows downloading a UnixFS object (equivalent to ipfs get) - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def UploadFile(self, request_iterator, context): + """UploadFile allows uploading a file as a UnixFS object (equivalent to ipfs pin add) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DownloadFile(self, request, context): + """DownloadFile allows downloading a UnixFS object (equivalent to ipfs get) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RemoveFile(self, request, context): + """RemoveFile allows removing a UnixFS object or decrease it's reference counter (equivalent to ipfs pin rm) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_FileAPIServicer_to_server(servicer, server): - rpc_method_handlers = { - 'UploadFile': grpc.stream_unary_rpc_method_handler( - servicer.UploadFile, - request_deserializer=file__pb2.UploadRequest.FromString, - response_serializer=util__pb2.PutResponse.SerializeToString, - ), - 'DownloadFile': grpc.unary_stream_rpc_method_handler( - servicer.DownloadFile, - request_deserializer=file__pb2.DownloadRequest.FromString, - response_serializer=file__pb2.DownloadResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'pb.FileAPI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'UploadFile': grpc.stream_unary_rpc_method_handler( + servicer.UploadFile, + request_deserializer=file__pb2.UploadRequest.FromString, + response_serializer=util__pb2.PutResponse.SerializeToString, + ), + 'DownloadFile': grpc.unary_stream_rpc_method_handler( + servicer.DownloadFile, + request_deserializer=file__pb2.DownloadRequest.FromString, + response_serializer=file__pb2.DownloadResponse.SerializeToString, + ), + 'RemoveFile': grpc.unary_unary_rpc_method_handler( + servicer.RemoveFile, + request_deserializer=file__pb2.RemoveRequest.FromString, + response_serializer=file__pb2.RemoveResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pb.FileAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class FileAPI(object): + """FileAPI provides a gRPC api to upload/download files as UnixFS objects + """ + + @staticmethod + def UploadFile(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_unary(request_iterator, target, '/pb.FileAPI/UploadFile', + file__pb2.UploadRequest.SerializeToString, + util__pb2.PutResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DownloadFile(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/pb.FileAPI/DownloadFile', + file__pb2.DownloadRequest.SerializeToString, + file__pb2.DownloadResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RemoveFile(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.FileAPI/RemoveFile', + file__pb2.RemoveRequest.SerializeToString, + file__pb2.RemoveResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/py/namesys_pb2_grpc.py b/py/namesys_pb2_grpc.py index a7f0784..6322ca9 100644 --- a/py/namesys_pb2_grpc.py +++ b/py/namesys_pb2_grpc.py @@ -6,77 +6,131 @@ class NameSysAPIStub(object): - """NameSysAPI provides a generic name resolution API - """ + """NameSysAPI provides a generic name resolution API + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.NameSysResolve = channel.unary_unary( - '/pb.NameSysAPI/NameSysResolve', - request_serializer=namesys__pb2.NameSysResolveRequest.SerializeToString, - response_deserializer=namesys__pb2.NameSysResolveResult.FromString, - ) - self.NameSysResolveAsync = channel.unary_stream( - '/pb.NameSysAPI/NameSysResolveAsync', - request_serializer=namesys__pb2.NameSysResolveRequest.SerializeToString, - response_deserializer=namesys__pb2.NameSysResolveResult.FromString, - ) - self.NameSysPublish = channel.unary_unary( - '/pb.NameSysAPI/NameSysPublish', - request_serializer=namesys__pb2.NameSysPublishRequest.SerializeToString, - response_deserializer=util__pb2.Empty.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.NameSysResolve = channel.unary_unary( + '/pb.NameSysAPI/NameSysResolve', + request_serializer=namesys__pb2.NameSysResolveRequest.SerializeToString, + response_deserializer=namesys__pb2.NameSysResolveResult.FromString, + ) + self.NameSysResolveAsync = channel.unary_stream( + '/pb.NameSysAPI/NameSysResolveAsync', + request_serializer=namesys__pb2.NameSysResolveRequest.SerializeToString, + response_deserializer=namesys__pb2.NameSysResolveResult.FromString, + ) + self.NameSysPublish = channel.unary_unary( + '/pb.NameSysAPI/NameSysPublish', + request_serializer=namesys__pb2.NameSysPublishRequest.SerializeToString, + response_deserializer=util__pb2.Empty.FromString, + ) class NameSysAPIServicer(object): - """NameSysAPI provides a generic name resolution API - """ - - def NameSysResolve(self, request, context): - """NameSysResolve is used to resolve a name, waiting for the request to complete + """NameSysAPI provides a generic name resolution API """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def NameSysResolveAsync(self, request, context): - """NameSysResolveAsync is like Resolve, except instead of waiting for the request - to complete, we send back a stream which we will send the result on - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def NameSysResolve(self, request, context): + """NameSysResolve is used to resolve a name, waiting for the request to complete + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def NameSysPublish(self, request, context): - """NameSysPublish is used to publish an IPNS record, with/with-out an EOL - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def NameSysResolveAsync(self, request, context): + """NameSysResolveAsync is like Resolve, except instead of waiting for the request + to complete, we send back a stream which we will send the result on + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NameSysPublish(self, request, context): + """NameSysPublish is used to publish an IPNS record, with/with-out an EOL + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_NameSysAPIServicer_to_server(servicer, server): - rpc_method_handlers = { - 'NameSysResolve': grpc.unary_unary_rpc_method_handler( - servicer.NameSysResolve, - request_deserializer=namesys__pb2.NameSysResolveRequest.FromString, - response_serializer=namesys__pb2.NameSysResolveResult.SerializeToString, - ), - 'NameSysResolveAsync': grpc.unary_stream_rpc_method_handler( - servicer.NameSysResolveAsync, - request_deserializer=namesys__pb2.NameSysResolveRequest.FromString, - response_serializer=namesys__pb2.NameSysResolveResult.SerializeToString, - ), - 'NameSysPublish': grpc.unary_unary_rpc_method_handler( - servicer.NameSysPublish, - request_deserializer=namesys__pb2.NameSysPublishRequest.FromString, - response_serializer=util__pb2.Empty.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'pb.NameSysAPI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'NameSysResolve': grpc.unary_unary_rpc_method_handler( + servicer.NameSysResolve, + request_deserializer=namesys__pb2.NameSysResolveRequest.FromString, + response_serializer=namesys__pb2.NameSysResolveResult.SerializeToString, + ), + 'NameSysResolveAsync': grpc.unary_stream_rpc_method_handler( + servicer.NameSysResolveAsync, + request_deserializer=namesys__pb2.NameSysResolveRequest.FromString, + response_serializer=namesys__pb2.NameSysResolveResult.SerializeToString, + ), + 'NameSysPublish': grpc.unary_unary_rpc_method_handler( + servicer.NameSysPublish, + request_deserializer=namesys__pb2.NameSysPublishRequest.FromString, + response_serializer=util__pb2.Empty.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pb.NameSysAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class NameSysAPI(object): + """NameSysAPI provides a generic name resolution API + """ + + @staticmethod + def NameSysResolve(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NameSysAPI/NameSysResolve', + namesys__pb2.NameSysResolveRequest.SerializeToString, + namesys__pb2.NameSysResolveResult.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NameSysResolveAsync(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/pb.NameSysAPI/NameSysResolveAsync', + namesys__pb2.NameSysResolveRequest.SerializeToString, + namesys__pb2.NameSysResolveResult.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NameSysPublish(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NameSysAPI/NameSysPublish', + namesys__pb2.NameSysPublishRequest.SerializeToString, + util__pb2.Empty.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/py/node_pb2.py b/py/node_pb2.py index d1afe0c..184a296 100644 --- a/py/node_pb2.py +++ b/py/node_pb2.py @@ -20,7 +20,7 @@ package='pb', syntax='proto3', serialized_options=None, - serialized_pb=b'\n\nnode.proto\x12\x02pb\x1a\nutil.proto\"\xde\x01\n\nP2PRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\x0b\n\x03\x61ll\x18\x02 \x01(\x08\x12\x0f\n\x07verbose\x18\x03 \x01(\x08\x12\x14\n\x0cprotocolName\x18\x04 \x01(\t\x12\x15\n\rlistenAddress\x18\x05 \x01(\t\x12\x15\n\rtargetAddress\x18\x06 \x01(\t\x12\x15\n\rremoteAddress\x18\x07 \x01(\t\x12\x1c\n\x14\x61llowCustomProtocols\x18\x08 \x01(\x08\x12\x14\n\x0creportPeerID\x18\t \x01(\x08\"z\n\x0bP2PResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\r\n\x05names\x18\x02 \x03(\t\x12\x13\n\x0b\x63onnsClosed\x18\x03 \x01(\x05\x12\"\n\x0bstreamInfos\x18\x04 \x03(\x0b\x32\r.pb.P2PLsInfo\"^\n\tP2PLsInfo\x12\x14\n\x0cprotocolName\x18\x01 \x01(\t\x12\x15\n\rlistenAddress\x18\x02 \x01(\t\x12\x15\n\rtargetAddress\x18\x03 \x01(\t\x12\r\n\x05local\x18\x04 \x01(\x08\"#\n\x10GetPeersResponse\x12\x0f\n\x07peerIDs\x18\x01 \x03(\t\"`\n\x0f\x43onnMgmtRequest\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x12\n\nmultiAddrs\x18\x02 \x03(\t\x12\x0f\n\x07peerIDs\x18\x03 \x03(\t\"\xac\x02\n\x10\x43onnMgmtResponse\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x36\n\tconnected\x18\x02 \x03(\x0b\x32#.pb.ConnMgmtResponse.ConnectedEntry\x12\x30\n\x06status\x18\x03 \x03(\x0b\x32 .pb.ConnMgmtResponse.StatusEntry\x12\x0f\n\x07peerIDs\x18\x04 \x03(\t\x1a\x30\n\x0e\x43onnectedEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x41\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.pb.ConnMgmtStatus:\x02\x38\x01\"6\n\x0e\x43onnMgmtStatus\x12\x14\n\x0c\x64isconnected\x18\x01 \x01(\x08\x12\x0e\n\x06reason\x18\x02 \x01(\t\"^\n\rExtrasRequest\x12&\n\x0brequestType\x18\x01 \x01(\x0e\x32\x11.pb.EXTRASREQTYPE\x12%\n\rextrasFeature\x18\x02 \x01(\x0e\x32\x0e.pb.EXTRASTYPE\"\x99\x01\n\x11\x42lockstoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x1e\n\x07reqOpts\x18\x02 \x03(\x0e\x32\r.pb.BSREQOPTS\x12\x0c\n\x04\x63ids\x18\x03 \x03(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x03(\x0c\x12\x12\n\ncidVersion\x18\x05 \x01(\t\x12\x10\n\x08hashFunc\x18\x07 \x01(\t\"S\n\x12\x42lockstoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x19\n\x06\x62locks\x18\x02 \x03(\x0b\x32\t.pb.Block\"0\n\x05\x42lock\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0c\n\x04size\x18\x03 \x01(\x03\"\x80\x02\n\nDagRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x16\n\x0eobjectEncoding\x18\x03 \x01(\t\x12\x1b\n\x13serializationFormat\x18\x04 \x01(\t\x12\x10\n\x08hashFunc\x18\x05 \x01(\t\x12\x12\n\ncidVersion\x18\x06 \x01(\x03\x12\x0c\n\x04hash\x18\x07 \x01(\t\x12(\n\x05links\x18\x08 \x03(\x0b\x32\x19.pb.DagRequest.LinksEntry\x1a,\n\nLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe3\x01\n\x0b\x44\x61gResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0e\n\x06hashes\x18\x02 \x03(\t\x12\x0f\n\x07rawData\x18\x03 \x01(\x0c\x12\x1b\n\x05links\x18\x04 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x31\n\tnodeStats\x18\x05 \x03(\x0b\x32\x1e.pb.DagResponse.NodeStatsEntry\x1a>\n\x0eNodeStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.pb.IPLDStat:\x02\x38\x01\"k\n\x08IPLDStat\x12\x10\n\x08numLinks\x18\x01 \x01(\x03\x12\x11\n\tblockSize\x18\x02 \x01(\x03\x12\x10\n\x08linkSize\x18\x03 \x01(\x03\x12\x16\n\x0e\x63umulativeSize\x18\x04 \x01(\x03\x12\x10\n\x08\x64\x61taSize\x18\x05 \x01(\x03\"4\n\x08IPLDLink\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x08IPLDNode\x12\x1b\n\x05links\x18\x02 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"W\n\x0fKeystoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nprivateKey\x18\x03 \x01(\x0c\"i\n\x10KeystoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x12\n\nprivateKey\x18\x02 \x01(\x0c\x12\x10\n\x08keyNames\x18\x03 \x03(\t\x12\x0b\n\x03has\x18\x04 \x01(\x08\"\x1e\n\x0ePersistRequest\x12\x0c\n\x04\x63ids\x18\x01 \x03(\t\"\xd1\x01\n\x0fPersistResponse\x12/\n\x06status\x18\x01 \x03(\x0b\x32\x1f.pb.PersistResponse.StatusEntry\x12/\n\x06\x65rrors\x18\x02 \x03(\x0b\x32\x1f.pb.PersistResponse.ErrorsEntry\x1a-\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*8\n\nP2PREQTYPE\x12\t\n\x05\x43LOSE\x10\x00\x12\x0b\n\x07\x46ORWARD\x10\x01\x12\n\n\x06LISTEN\x10\x02\x12\x06\n\x02LS\x10\x03*U\n\x0f\x43ONNMGMTREQTYPE\x12\x0e\n\nCM_CONNECT\x10\x00\x12\x11\n\rCM_DISCONNECT\x10\x01\x12\r\n\tCM_STATUS\x10\x02\x12\x10\n\x0c\x43M_GET_PEERS\x10\x03*.\n\rEXTRASREQTYPE\x12\r\n\tEX_ENABLE\x10\x00\x12\x0e\n\nEX_DISABLE\x10\x01*?\n\nEXTRASTYPE\x12\x0c\n\x08IDENTIFY\x10\x00\x12\n\n\x06PUBSUB\x10\x01\x12\r\n\tDISCOVERY\x10\x02\x12\x08\n\x04MDNS\x10\x03*\xbb\x01\n\tBSREQTYPE\x12\r\n\tBS_DELETE\x10\x00\x12\n\n\x06\x42S_PUT\x10\x01\x12\x0f\n\x0b\x42S_PUT_MANY\x10\x02\x12\n\n\x06\x42S_GET\x10\x03\x12\x0f\n\x0b\x42S_GET_MANY\x10\x04\x12\x0e\n\nBS_GET_ALL\x10\x05\x12\x10\n\x0c\x42S_GET_STATS\x10\x06\x12\n\n\x06\x42S_HAS\x10\x07\x12\x1a\n\x16\x42S_HASH_ON_READ_ENABLE\x10\x08\x12\x1b\n\x17\x42S_HASH_ON_READ_DISABLE\x10\t*&\n\tBSREQOPTS\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08\x42S_FORCE\x10\x01*l\n\nDAGREQTYPE\x12\x0b\n\x07\x44\x41G_PUT\x10\x00\x12\x0b\n\x07\x44\x41G_GET\x10\x01\x12\x10\n\x0c\x44\x41G_NEW_NODE\x10\x02\x12\x11\n\rDAG_ADD_LINKS\x10\x03\x12\x11\n\rDAG_GET_LINKS\x10\x04\x12\x0c\n\x08\x44\x41G_STAT\x10\x05*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\x10\x00\x12\n\n\x06KS_GET\x10\x01\x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_DELETE\x10\x03\x12\x0b\n\x07KS_LIST\x10\x04\x32\xb7\x03\n\x07NodeAPI\x12\x37\n\x08\x43onnMgmt\x12\x13.pb.ConnMgmtRequest\x1a\x14.pb.ConnMgmtResponse\"\x00\x12(\n\x06\x45xtras\x12\x11.pb.ExtrasRequest\x1a\t.pb.Empty\"\x00\x12(\n\x03P2P\x12\x0e.pb.P2PRequest\x1a\x0f.pb.P2PResponse\"\x00\x12=\n\nBlockstore\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00\x12G\n\x10\x42lockstoreStream\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00(\x01\x30\x01\x12(\n\x03\x44\x61g\x12\x0e.pb.DagRequest\x1a\x0f.pb.DagResponse\"\x00\x12\x37\n\x08Keystore\x12\x13.pb.KeystoreRequest\x1a\x14.pb.KeystoreResponse\"\x00\x12\x34\n\x07Persist\x12\x12.pb.PersistRequest\x1a\x13.pb.PersistResponse\"\x00\x62\x06proto3' + serialized_pb=b'\n\nnode.proto\x12\x02pb\x1a\nutil.proto\"\xde\x01\n\nP2PRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\x0b\n\x03\x61ll\x18\x02 \x01(\x08\x12\x0f\n\x07verbose\x18\x03 \x01(\x08\x12\x14\n\x0cprotocolName\x18\x04 \x01(\t\x12\x15\n\rlistenAddress\x18\x05 \x01(\t\x12\x15\n\rtargetAddress\x18\x06 \x01(\t\x12\x15\n\rremoteAddress\x18\x07 \x01(\t\x12\x1c\n\x14\x61llowCustomProtocols\x18\x08 \x01(\x08\x12\x14\n\x0creportPeerID\x18\t \x01(\x08\"z\n\x0bP2PResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\r\n\x05names\x18\x02 \x03(\t\x12\x13\n\x0b\x63onnsClosed\x18\x03 \x01(\x05\x12\"\n\x0bstreamInfos\x18\x04 \x03(\x0b\x32\r.pb.P2PLsInfo\"^\n\tP2PLsInfo\x12\x14\n\x0cprotocolName\x18\x01 \x01(\t\x12\x15\n\rlistenAddress\x18\x02 \x01(\t\x12\x15\n\rtargetAddress\x18\x03 \x01(\t\x12\r\n\x05local\x18\x04 \x01(\x08\"#\n\x10GetPeersResponse\x12\x0f\n\x07peerIDs\x18\x01 \x03(\t\"`\n\x0f\x43onnMgmtRequest\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x12\n\nmultiAddrs\x18\x02 \x03(\t\x12\x0f\n\x07peerIDs\x18\x03 \x03(\t\"\xac\x02\n\x10\x43onnMgmtResponse\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x36\n\tconnected\x18\x02 \x03(\x0b\x32#.pb.ConnMgmtResponse.ConnectedEntry\x12\x30\n\x06status\x18\x03 \x03(\x0b\x32 .pb.ConnMgmtResponse.StatusEntry\x12\x0f\n\x07peerIDs\x18\x04 \x03(\t\x1a\x30\n\x0e\x43onnectedEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x41\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.pb.ConnMgmtStatus:\x02\x38\x01\"6\n\x0e\x43onnMgmtStatus\x12\x14\n\x0c\x64isconnected\x18\x01 \x01(\x08\x12\x0e\n\x06reason\x18\x02 \x01(\t\"^\n\rExtrasRequest\x12&\n\x0brequestType\x18\x01 \x01(\x0e\x32\x11.pb.EXTRASREQTYPE\x12%\n\rextrasFeature\x18\x02 \x01(\x0e\x32\x0e.pb.EXTRASTYPE\"\xbd\x01\n\x11\x42lockstoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x1e\n\x07reqOpts\x18\x02 \x03(\x0e\x32\r.pb.BSREQOPTS\x12\x0c\n\x04\x63ids\x18\x03 \x03(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x03(\x0c\x12\x12\n\ncidVersion\x18\x05 \x01(\t\x12\x10\n\x08hashFunc\x18\x07 \x01(\t\x12\r\n\x05refID\x18\x08 \x01(\t\x12\x13\n\x0bprogressive\x18\t \x01(\x08\"S\n\x12\x42lockstoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x19\n\x06\x62locks\x18\x02 \x03(\x0b\x32\t.pb.Block\"0\n\x05\x42lock\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0c\n\x04size\x18\x03 \x01(\x03\"\xa4\x02\n\nDagRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x16\n\x0eobjectEncoding\x18\x03 \x01(\t\x12\x1b\n\x13serializationFormat\x18\x04 \x01(\t\x12\x10\n\x08hashFunc\x18\x05 \x01(\t\x12\x12\n\ncidVersion\x18\x06 \x01(\x03\x12\x0c\n\x04hash\x18\x07 \x01(\t\x12(\n\x05links\x18\x08 \x03(\x0b\x32\x19.pb.DagRequest.LinksEntry\x12\r\n\x05refID\x18\t \x01(\t\x12\x13\n\x0bprogressive\x18\n \x01(\x08\x1a,\n\nLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf2\x01\n\x0b\x44\x61gResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0e\n\x06hashes\x18\x02 \x03(\t\x12\x0f\n\x07rawData\x18\x03 \x01(\x0c\x12\x1b\n\x05links\x18\x04 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x31\n\tnodeStats\x18\x05 \x03(\x0b\x32\x1e.pb.DagResponse.NodeStatsEntry\x12\r\n\x05\x63ount\x18\x06 \x01(\x04\x1a>\n\x0eNodeStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.pb.IPLDStat:\x02\x38\x01\"k\n\x08IPLDStat\x12\x10\n\x08numLinks\x18\x01 \x01(\x03\x12\x11\n\tblockSize\x18\x02 \x01(\x03\x12\x10\n\x08linkSize\x18\x03 \x01(\x03\x12\x16\n\x0e\x63umulativeSize\x18\x04 \x01(\x03\x12\x10\n\x08\x64\x61taSize\x18\x05 \x01(\x03\"4\n\x08IPLDLink\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x08IPLDNode\x12\x1b\n\x05links\x18\x02 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"W\n\x0fKeystoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nprivateKey\x18\x03 \x01(\x0c\"i\n\x10KeystoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x12\n\nprivateKey\x18\x02 \x01(\x0c\x12\x10\n\x08keyNames\x18\x03 \x03(\t\x12\x0b\n\x03has\x18\x04 \x01(\x08\"B\n\x0ePersistRequest\x12\x0c\n\x04\x63ids\x18\x01 \x03(\t\x12\r\n\x05refID\x18\x02 \x01(\t\x12\x13\n\x0bprogressive\x18\x05 \x01(\x08\"\xd1\x01\n\x0fPersistResponse\x12/\n\x06status\x18\x01 \x03(\x0b\x32\x1f.pb.PersistResponse.StatusEntry\x12/\n\x06\x65rrors\x18\x02 \x03(\x0b\x32\x1f.pb.PersistResponse.ErrorsEntry\x1a-\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*8\n\nP2PREQTYPE\x12\t\n\x05\x43LOSE\x10\x00\x12\x0b\n\x07\x46ORWARD\x10\x01\x12\n\n\x06LISTEN\x10\x02\x12\x06\n\x02LS\x10\x03*U\n\x0f\x43ONNMGMTREQTYPE\x12\x0e\n\nCM_CONNECT\x10\x00\x12\x11\n\rCM_DISCONNECT\x10\x01\x12\r\n\tCM_STATUS\x10\x02\x12\x10\n\x0c\x43M_GET_PEERS\x10\x03*.\n\rEXTRASREQTYPE\x12\r\n\tEX_ENABLE\x10\x00\x12\x0e\n\nEX_DISABLE\x10\x01*?\n\nEXTRASTYPE\x12\x0c\n\x08IDENTIFY\x10\x00\x12\n\n\x06PUBSUB\x10\x01\x12\r\n\tDISCOVERY\x10\x02\x12\x08\n\x04MDNS\x10\x03*\xbb\x01\n\tBSREQTYPE\x12\r\n\tBS_DELETE\x10\x00\x12\n\n\x06\x42S_PUT\x10\x01\x12\x0f\n\x0b\x42S_PUT_MANY\x10\x02\x12\n\n\x06\x42S_GET\x10\x03\x12\x0f\n\x0b\x42S_GET_MANY\x10\x04\x12\x0e\n\nBS_GET_ALL\x10\x05\x12\x10\n\x0c\x42S_GET_STATS\x10\x06\x12\n\n\x06\x42S_HAS\x10\x07\x12\x1a\n\x16\x42S_HASH_ON_READ_ENABLE\x10\x08\x12\x1b\n\x17\x42S_HASH_ON_READ_DISABLE\x10\t*&\n\tBSREQOPTS\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08\x42S_FORCE\x10\x01*|\n\nDAGREQTYPE\x12\x0b\n\x07\x44\x41G_PUT\x10\x00\x12\x0b\n\x07\x44\x41G_GET\x10\x01\x12\x10\n\x0c\x44\x41G_NEW_NODE\x10\x02\x12\x11\n\rDAG_ADD_LINKS\x10\x03\x12\x11\n\rDAG_GET_LINKS\x10\x04\x12\x0c\n\x08\x44\x41G_STAT\x10\x05\x12\x0e\n\nDAG_REMOVE\x10\x06*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\x10\x00\x12\n\n\x06KS_GET\x10\x01\x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_DELETE\x10\x03\x12\x0b\n\x07KS_LIST\x10\x04\x32\xb7\x03\n\x07NodeAPI\x12\x37\n\x08\x43onnMgmt\x12\x13.pb.ConnMgmtRequest\x1a\x14.pb.ConnMgmtResponse\"\x00\x12(\n\x06\x45xtras\x12\x11.pb.ExtrasRequest\x1a\t.pb.Empty\"\x00\x12(\n\x03P2P\x12\x0e.pb.P2PRequest\x1a\x0f.pb.P2PResponse\"\x00\x12=\n\nBlockstore\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00\x12G\n\x10\x42lockstoreStream\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00(\x01\x30\x01\x12(\n\x03\x44\x61g\x12\x0e.pb.DagRequest\x1a\x0f.pb.DagResponse\"\x00\x12\x37\n\x08Keystore\x12\x13.pb.KeystoreRequest\x1a\x14.pb.KeystoreResponse\"\x00\x12\x34\n\x07Persist\x12\x12.pb.PersistRequest\x1a\x13.pb.PersistResponse\"\x00\x62\x06proto3' , dependencies=[util__pb2.DESCRIPTOR,]) @@ -49,8 +49,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2503, - serialized_end=2559, + serialized_start=2626, + serialized_end=2682, ) _sym_db.RegisterEnumDescriptor(_P2PREQTYPE) @@ -80,8 +80,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2561, - serialized_end=2646, + serialized_start=2684, + serialized_end=2769, ) _sym_db.RegisterEnumDescriptor(_CONNMGMTREQTYPE) @@ -103,8 +103,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2648, - serialized_end=2694, + serialized_start=2771, + serialized_end=2817, ) _sym_db.RegisterEnumDescriptor(_EXTRASREQTYPE) @@ -134,8 +134,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2696, - serialized_end=2759, + serialized_start=2819, + serialized_end=2882, ) _sym_db.RegisterEnumDescriptor(_EXTRASTYPE) @@ -189,8 +189,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2762, - serialized_end=2949, + serialized_start=2885, + serialized_end=3072, ) _sym_db.RegisterEnumDescriptor(_BSREQTYPE) @@ -212,8 +212,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2951, - serialized_end=2989, + serialized_start=3074, + serialized_end=3112, ) _sym_db.RegisterEnumDescriptor(_BSREQOPTS) @@ -248,11 +248,15 @@ name='DAG_STAT', index=5, number=5, serialized_options=None, type=None), + _descriptor.EnumValueDescriptor( + name='DAG_REMOVE', index=6, number=6, + serialized_options=None, + type=None), ], containing_type=None, serialized_options=None, - serialized_start=2991, - serialized_end=3099, + serialized_start=3114, + serialized_end=3238, ) _sym_db.RegisterEnumDescriptor(_DAGREQTYPE) @@ -286,8 +290,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3101, - serialized_end=3176, + serialized_start=3240, + serialized_end=3315, ) _sym_db.RegisterEnumDescriptor(_KSREQTYPE) @@ -324,6 +328,7 @@ DAG_ADD_LINKS = 3 DAG_GET_LINKS = 4 DAG_STAT = 5 +DAG_REMOVE = 6 KS_HAS = 0 KS_GET = 1 KS_PUT = 2 @@ -850,6 +855,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='refID', full_name='pb.BlockstoreRequest.refID', index=6, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='progressive', full_name='pb.BlockstoreRequest.progressive', index=7, + number=9, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -863,7 +882,7 @@ oneofs=[ ], serialized_start=1066, - serialized_end=1219, + serialized_end=1255, ) @@ -900,8 +919,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1221, - serialized_end=1304, + serialized_start=1257, + serialized_end=1340, ) @@ -945,8 +964,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1306, - serialized_end=1354, + serialized_start=1342, + serialized_end=1390, ) @@ -983,8 +1002,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1569, - serialized_end=1613, + serialized_start=1641, + serialized_end=1685, ) _DAGREQUEST = _descriptor.Descriptor( @@ -1050,6 +1069,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='refID', full_name='pb.DagRequest.refID', index=8, + number=9, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='progressive', full_name='pb.DagRequest.progressive', index=9, + number=10, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1062,8 +1095,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1357, - serialized_end=1613, + serialized_start=1393, + serialized_end=1685, ) @@ -1100,8 +1133,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1781, - serialized_end=1843, + serialized_start=1868, + serialized_end=1930, ) _DAGRESPONSE = _descriptor.Descriptor( @@ -1146,6 +1179,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='count', full_name='pb.DagResponse.count', index=5, + number=6, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1158,8 +1198,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1616, - serialized_end=1843, + serialized_start=1688, + serialized_end=1930, ) @@ -1217,8 +1257,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1845, - serialized_end=1952, + serialized_start=1932, + serialized_end=2039, ) @@ -1262,8 +1302,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1954, - serialized_end=2006, + serialized_start=2041, + serialized_end=2093, ) @@ -1300,8 +1340,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2008, - serialized_end=2061, + serialized_start=2095, + serialized_end=2148, ) @@ -1345,8 +1385,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2063, - serialized_end=2150, + serialized_start=2150, + serialized_end=2237, ) @@ -1397,8 +1437,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2152, - serialized_end=2257, + serialized_start=2239, + serialized_end=2344, ) @@ -1416,6 +1456,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='refID', full_name='pb.PersistRequest.refID', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='progressive', full_name='pb.PersistRequest.progressive', index=2, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1428,8 +1482,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2259, - serialized_end=2289, + serialized_start=2346, + serialized_end=2412, ) @@ -1466,8 +1520,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2409, - serialized_end=2454, + serialized_start=2532, + serialized_end=2577, ) _PERSISTRESPONSE_ERRORSENTRY = _descriptor.Descriptor( @@ -1503,8 +1557,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2456, - serialized_end=2501, + serialized_start=2579, + serialized_end=2624, ) _PERSISTRESPONSE = _descriptor.Descriptor( @@ -1540,8 +1594,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2292, - serialized_end=2501, + serialized_start=2415, + serialized_end=2624, ) _P2PREQUEST.fields_by_name['requestType'].enum_type = _P2PREQTYPE @@ -1807,8 +1861,8 @@ file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=3179, - serialized_end=3618, + serialized_start=3318, + serialized_end=3757, methods=[ _descriptor.MethodDescriptor( name='ConnMgmt', diff --git a/py/node_pb2_grpc.py b/py/node_pb2_grpc.py index ca653fa..87b84d4 100644 --- a/py/node_pb2_grpc.py +++ b/py/node_pb2_grpc.py @@ -6,164 +6,298 @@ class NodeAPIStub(object): - """NodeAPI provide an API to control the underlying custom ipfs node - """ + """NodeAPI provide an API to control the underlying custom ipfs node + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.ConnMgmt = channel.unary_unary( - '/pb.NodeAPI/ConnMgmt', - request_serializer=node__pb2.ConnMgmtRequest.SerializeToString, - response_deserializer=node__pb2.ConnMgmtResponse.FromString, - ) - self.Extras = channel.unary_unary( - '/pb.NodeAPI/Extras', - request_serializer=node__pb2.ExtrasRequest.SerializeToString, - response_deserializer=util__pb2.Empty.FromString, - ) - self.P2P = channel.unary_unary( - '/pb.NodeAPI/P2P', - request_serializer=node__pb2.P2PRequest.SerializeToString, - response_deserializer=node__pb2.P2PResponse.FromString, - ) - self.Blockstore = channel.unary_unary( - '/pb.NodeAPI/Blockstore', - request_serializer=node__pb2.BlockstoreRequest.SerializeToString, - response_deserializer=node__pb2.BlockstoreResponse.FromString, - ) - self.BlockstoreStream = channel.stream_stream( - '/pb.NodeAPI/BlockstoreStream', - request_serializer=node__pb2.BlockstoreRequest.SerializeToString, - response_deserializer=node__pb2.BlockstoreResponse.FromString, - ) - self.Dag = channel.unary_unary( - '/pb.NodeAPI/Dag', - request_serializer=node__pb2.DagRequest.SerializeToString, - response_deserializer=node__pb2.DagResponse.FromString, - ) - self.Keystore = channel.unary_unary( - '/pb.NodeAPI/Keystore', - request_serializer=node__pb2.KeystoreRequest.SerializeToString, - response_deserializer=node__pb2.KeystoreResponse.FromString, - ) - self.Persist = channel.unary_unary( - '/pb.NodeAPI/Persist', - request_serializer=node__pb2.PersistRequest.SerializeToString, - response_deserializer=node__pb2.PersistResponse.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.ConnMgmt = channel.unary_unary( + '/pb.NodeAPI/ConnMgmt', + request_serializer=node__pb2.ConnMgmtRequest.SerializeToString, + response_deserializer=node__pb2.ConnMgmtResponse.FromString, + ) + self.Extras = channel.unary_unary( + '/pb.NodeAPI/Extras', + request_serializer=node__pb2.ExtrasRequest.SerializeToString, + response_deserializer=util__pb2.Empty.FromString, + ) + self.P2P = channel.unary_unary( + '/pb.NodeAPI/P2P', + request_serializer=node__pb2.P2PRequest.SerializeToString, + response_deserializer=node__pb2.P2PResponse.FromString, + ) + self.Blockstore = channel.unary_unary( + '/pb.NodeAPI/Blockstore', + request_serializer=node__pb2.BlockstoreRequest.SerializeToString, + response_deserializer=node__pb2.BlockstoreResponse.FromString, + ) + self.BlockstoreStream = channel.stream_stream( + '/pb.NodeAPI/BlockstoreStream', + request_serializer=node__pb2.BlockstoreRequest.SerializeToString, + response_deserializer=node__pb2.BlockstoreResponse.FromString, + ) + self.Dag = channel.unary_unary( + '/pb.NodeAPI/Dag', + request_serializer=node__pb2.DagRequest.SerializeToString, + response_deserializer=node__pb2.DagResponse.FromString, + ) + self.Keystore = channel.unary_unary( + '/pb.NodeAPI/Keystore', + request_serializer=node__pb2.KeystoreRequest.SerializeToString, + response_deserializer=node__pb2.KeystoreResponse.FromString, + ) + self.Persist = channel.unary_unary( + '/pb.NodeAPI/Persist', + request_serializer=node__pb2.PersistRequest.SerializeToString, + response_deserializer=node__pb2.PersistResponse.FromString, + ) class NodeAPIServicer(object): - """NodeAPI provide an API to control the underlying custom ipfs node - """ - - def ConnMgmt(self, request, context): - """ConnMgmt provides control over libp2p connections + """NodeAPI provide an API to control the underlying custom ipfs node """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def Extras(self, request, context): - """Extras provide control over node extras capabilities - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def P2P(self, request, context): - """P2P allows control of generalized p2p streams for tcp/udp based protocol. - By using this RPC, we can tunnel traffic similar to ssh tunneling - except using libp2p as the transport layer, and and tcp/udp port. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def ConnMgmt(self, request, context): + """ConnMgmt provides control over libp2p connections + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def Blockstore(self, request, context): - """Blockstore allows low-level management of the underlying blockstore - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Extras(self, request, context): + """Extras provide control over node extras capabilities + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def BlockstoreStream(self, request_iterator, context): - """BlockstoreStream is akin to Blockstore, except streamable - Once v4 is out, condense this + blockstore into a single call - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def P2P(self, request, context): + """P2P allows control of generalized p2p streams for tcp/udp based protocol. + By using this RPC, we can tunnel traffic similar to ssh tunneling + except using libp2p as the transport layer, and and tcp/udp port. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def Dag(self, request, context): - """Dag is a unidirectional rpc allowing manipulation of low-level ipld objects - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Blockstore(self, request, context): + """Blockstore allows low-level management of the underlying blockstore + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def Keystore(self, request, context): - """Keystore is a unidirectional RPC allowing management of ipfs keystores - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def BlockstoreStream(self, request_iterator, context): + """BlockstoreStream is akin to Blockstore, except streamable + Once v4 is out, condense this + blockstore into a single call + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def Persist(self, request, context): - """Persist is used to retrieve data from the network and make it available locally - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Dag(self, request, context): + """Dag is a unidirectional rpc allowing manipulation of low-level ipld objects + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Keystore(self, request, context): + """Keystore is a unidirectional RPC allowing management of ipfs keystores + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Persist(self, request, context): + """Persist is used to retrieve data from the network and make it available locally + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_NodeAPIServicer_to_server(servicer, server): - rpc_method_handlers = { - 'ConnMgmt': grpc.unary_unary_rpc_method_handler( - servicer.ConnMgmt, - request_deserializer=node__pb2.ConnMgmtRequest.FromString, - response_serializer=node__pb2.ConnMgmtResponse.SerializeToString, - ), - 'Extras': grpc.unary_unary_rpc_method_handler( - servicer.Extras, - request_deserializer=node__pb2.ExtrasRequest.FromString, - response_serializer=util__pb2.Empty.SerializeToString, - ), - 'P2P': grpc.unary_unary_rpc_method_handler( - servicer.P2P, - request_deserializer=node__pb2.P2PRequest.FromString, - response_serializer=node__pb2.P2PResponse.SerializeToString, - ), - 'Blockstore': grpc.unary_unary_rpc_method_handler( - servicer.Blockstore, - request_deserializer=node__pb2.BlockstoreRequest.FromString, - response_serializer=node__pb2.BlockstoreResponse.SerializeToString, - ), - 'BlockstoreStream': grpc.stream_stream_rpc_method_handler( - servicer.BlockstoreStream, - request_deserializer=node__pb2.BlockstoreRequest.FromString, - response_serializer=node__pb2.BlockstoreResponse.SerializeToString, - ), - 'Dag': grpc.unary_unary_rpc_method_handler( - servicer.Dag, - request_deserializer=node__pb2.DagRequest.FromString, - response_serializer=node__pb2.DagResponse.SerializeToString, - ), - 'Keystore': grpc.unary_unary_rpc_method_handler( - servicer.Keystore, - request_deserializer=node__pb2.KeystoreRequest.FromString, - response_serializer=node__pb2.KeystoreResponse.SerializeToString, - ), - 'Persist': grpc.unary_unary_rpc_method_handler( - servicer.Persist, - request_deserializer=node__pb2.PersistRequest.FromString, - response_serializer=node__pb2.PersistResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'pb.NodeAPI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'ConnMgmt': grpc.unary_unary_rpc_method_handler( + servicer.ConnMgmt, + request_deserializer=node__pb2.ConnMgmtRequest.FromString, + response_serializer=node__pb2.ConnMgmtResponse.SerializeToString, + ), + 'Extras': grpc.unary_unary_rpc_method_handler( + servicer.Extras, + request_deserializer=node__pb2.ExtrasRequest.FromString, + response_serializer=util__pb2.Empty.SerializeToString, + ), + 'P2P': grpc.unary_unary_rpc_method_handler( + servicer.P2P, + request_deserializer=node__pb2.P2PRequest.FromString, + response_serializer=node__pb2.P2PResponse.SerializeToString, + ), + 'Blockstore': grpc.unary_unary_rpc_method_handler( + servicer.Blockstore, + request_deserializer=node__pb2.BlockstoreRequest.FromString, + response_serializer=node__pb2.BlockstoreResponse.SerializeToString, + ), + 'BlockstoreStream': grpc.stream_stream_rpc_method_handler( + servicer.BlockstoreStream, + request_deserializer=node__pb2.BlockstoreRequest.FromString, + response_serializer=node__pb2.BlockstoreResponse.SerializeToString, + ), + 'Dag': grpc.unary_unary_rpc_method_handler( + servicer.Dag, + request_deserializer=node__pb2.DagRequest.FromString, + response_serializer=node__pb2.DagResponse.SerializeToString, + ), + 'Keystore': grpc.unary_unary_rpc_method_handler( + servicer.Keystore, + request_deserializer=node__pb2.KeystoreRequest.FromString, + response_serializer=node__pb2.KeystoreResponse.SerializeToString, + ), + 'Persist': grpc.unary_unary_rpc_method_handler( + servicer.Persist, + request_deserializer=node__pb2.PersistRequest.FromString, + response_serializer=node__pb2.PersistResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pb.NodeAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class NodeAPI(object): + """NodeAPI provide an API to control the underlying custom ipfs node + """ + + @staticmethod + def ConnMgmt(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NodeAPI/ConnMgmt', + node__pb2.ConnMgmtRequest.SerializeToString, + node__pb2.ConnMgmtResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Extras(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NodeAPI/Extras', + node__pb2.ExtrasRequest.SerializeToString, + util__pb2.Empty.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def P2P(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NodeAPI/P2P', + node__pb2.P2PRequest.SerializeToString, + node__pb2.P2PResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Blockstore(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NodeAPI/Blockstore', + node__pb2.BlockstoreRequest.SerializeToString, + node__pb2.BlockstoreResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BlockstoreStream(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/pb.NodeAPI/BlockstoreStream', + node__pb2.BlockstoreRequest.SerializeToString, + node__pb2.BlockstoreResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Dag(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NodeAPI/Dag', + node__pb2.DagRequest.SerializeToString, + node__pb2.DagResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Keystore(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NodeAPI/Keystore', + node__pb2.KeystoreRequest.SerializeToString, + node__pb2.KeystoreResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Persist(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.NodeAPI/Persist', + node__pb2.PersistRequest.SerializeToString, + node__pb2.PersistResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/py/pubsub_pb2_grpc.py b/py/pubsub_pb2_grpc.py index 0ac3a07..f9d5278 100644 --- a/py/pubsub_pb2_grpc.py +++ b/py/pubsub_pb2_grpc.py @@ -5,45 +5,68 @@ class PubSubAPIStub(object): - """PubSubAPI provides a libp2p pubsub API and is equivalent to go-ipfs - `ipfs pubsub` subset of commands. - """ + """PubSubAPI provides a libp2p pubsub API and is equivalent to go-ipfs + `ipfs pubsub` subset of commands. + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.PubSub = channel.stream_stream( - '/pb.PubSubAPI/PubSub', - request_serializer=pubsub__pb2.PubSubRequest.SerializeToString, - response_deserializer=pubsub__pb2.PubSubResponse.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.PubSub = channel.stream_stream( + '/pb.PubSubAPI/PubSub', + request_serializer=pubsub__pb2.PubSubRequest.SerializeToString, + response_deserializer=pubsub__pb2.PubSubResponse.FromString, + ) class PubSubAPIServicer(object): - """PubSubAPI provides a libp2p pubsub API and is equivalent to go-ipfs - `ipfs pubsub` subset of commands. - """ - - def PubSub(self, request_iterator, context): - """PubSub allows controlling libp2p pubsub topics and subscriptions using - a bidirectional streaming API + """PubSubAPI provides a libp2p pubsub API and is equivalent to go-ipfs + `ipfs pubsub` subset of commands. """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + + def PubSub(self, request_iterator, context): + """PubSub allows controlling libp2p pubsub topics and subscriptions using + a bidirectional streaming API + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_PubSubAPIServicer_to_server(servicer, server): - rpc_method_handlers = { - 'PubSub': grpc.stream_stream_rpc_method_handler( - servicer.PubSub, - request_deserializer=pubsub__pb2.PubSubRequest.FromString, - response_serializer=pubsub__pb2.PubSubResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'pb.PubSubAPI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'PubSub': grpc.stream_stream_rpc_method_handler( + servicer.PubSub, + request_deserializer=pubsub__pb2.PubSubRequest.FromString, + response_serializer=pubsub__pb2.PubSubResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pb.PubSubAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class PubSubAPI(object): + """PubSubAPI provides a libp2p pubsub API and is equivalent to go-ipfs + `ipfs pubsub` subset of commands. + """ + + @staticmethod + def PubSub(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/pb.PubSubAPI/PubSub', + pubsub__pb2.PubSubRequest.SerializeToString, + pubsub__pb2.PubSubResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/py/replication_pb2_grpc.py b/py/replication_pb2_grpc.py index abab33e..7c40ce4 100644 --- a/py/replication_pb2_grpc.py +++ b/py/replication_pb2_grpc.py @@ -5,94 +5,164 @@ class replicatorStub(object): - """The replicator provides replication services. - """ + """The replicator provides replication services. + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.Add = channel.unary_stream( - '/pb.replicator/Add', - request_serializer=replication__pb2.Subscription.SerializeToString, - response_deserializer=replication__pb2.ReplicationStatus.FromString, - ) - self.Status = channel.unary_stream( - '/pb.replicator/Status', - request_serializer=replication__pb2.Subscription.SerializeToString, - response_deserializer=replication__pb2.ReplicationStatus.FromString, - ) - self.GetSubscriptionUpdate = channel.unary_unary( - '/pb.replicator/GetSubscriptionUpdate', - request_serializer=replication__pb2.Subscription.SerializeToString, - response_deserializer=replication__pb2.SubscriptionUpdate.FromString, - ) - self.SubmitReplication = channel.unary_stream( - '/pb.replicator/SubmitReplication', - request_serializer=replication__pb2.SignedSubscription.SerializeToString, - response_deserializer=replication__pb2.ReplicationStatus.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.Add = channel.unary_stream( + '/pb.replicator/Add', + request_serializer=replication__pb2.Subscription.SerializeToString, + response_deserializer=replication__pb2.ReplicationStatus.FromString, + ) + self.Status = channel.unary_stream( + '/pb.replicator/Status', + request_serializer=replication__pb2.Subscription.SerializeToString, + response_deserializer=replication__pb2.ReplicationStatus.FromString, + ) + self.GetSubscriptionUpdate = channel.unary_unary( + '/pb.replicator/GetSubscriptionUpdate', + request_serializer=replication__pb2.Subscription.SerializeToString, + response_deserializer=replication__pb2.SubscriptionUpdate.FromString, + ) + self.SubmitReplication = channel.unary_stream( + '/pb.replicator/SubmitReplication', + request_serializer=replication__pb2.SignedSubscription.SerializeToString, + response_deserializer=replication__pb2.ReplicationStatus.FromString, + ) class replicatorServicer(object): - """The replicator provides replication services. - """ - - def Add(self, request, context): - """Add is used to add a replication to this server, changing it's status from reserved to active. + """The replicator provides replication services. """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def Status(self, request, context): - """Status returns an updating stream of the replication status on the server. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Add(self, request, context): + """Add is used to add a replication to this server, changing it's status from reserved to active. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def GetSubscriptionUpdate(self, request, context): - """GetSubscriptionUpdate returns the latest version of subscribed replication - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Status(self, request, context): + """Status returns an updating stream of the replication status on the server. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') - def SubmitReplication(self, request, context): - """SubmitReplication is used by client agents to start replications, after they - have uploaded the files and retrieved the cid, and collected servers to replicate too. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def GetSubscriptionUpdate(self, request, context): + """GetSubscriptionUpdate returns the latest version of subscribed replication + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubmitReplication(self, request, context): + """SubmitReplication is used by client agents to start replications, after they + have uploaded the files and retrieved the cid, and collected servers to replicate too. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_replicatorServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Add': grpc.unary_stream_rpc_method_handler( - servicer.Add, - request_deserializer=replication__pb2.Subscription.FromString, - response_serializer=replication__pb2.ReplicationStatus.SerializeToString, - ), - 'Status': grpc.unary_stream_rpc_method_handler( - servicer.Status, - request_deserializer=replication__pb2.Subscription.FromString, - response_serializer=replication__pb2.ReplicationStatus.SerializeToString, - ), - 'GetSubscriptionUpdate': grpc.unary_unary_rpc_method_handler( - servicer.GetSubscriptionUpdate, - request_deserializer=replication__pb2.Subscription.FromString, - response_serializer=replication__pb2.SubscriptionUpdate.SerializeToString, - ), - 'SubmitReplication': grpc.unary_stream_rpc_method_handler( - servicer.SubmitReplication, - request_deserializer=replication__pb2.SignedSubscription.FromString, - response_serializer=replication__pb2.ReplicationStatus.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'pb.replicator', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'Add': grpc.unary_stream_rpc_method_handler( + servicer.Add, + request_deserializer=replication__pb2.Subscription.FromString, + response_serializer=replication__pb2.ReplicationStatus.SerializeToString, + ), + 'Status': grpc.unary_stream_rpc_method_handler( + servicer.Status, + request_deserializer=replication__pb2.Subscription.FromString, + response_serializer=replication__pb2.ReplicationStatus.SerializeToString, + ), + 'GetSubscriptionUpdate': grpc.unary_unary_rpc_method_handler( + servicer.GetSubscriptionUpdate, + request_deserializer=replication__pb2.Subscription.FromString, + response_serializer=replication__pb2.SubscriptionUpdate.SerializeToString, + ), + 'SubmitReplication': grpc.unary_stream_rpc_method_handler( + servicer.SubmitReplication, + request_deserializer=replication__pb2.SignedSubscription.FromString, + response_serializer=replication__pb2.ReplicationStatus.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pb.replicator', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class replicator(object): + """The replicator provides replication services. + """ + + @staticmethod + def Add(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/pb.replicator/Add', + replication__pb2.Subscription.SerializeToString, + replication__pb2.ReplicationStatus.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Status(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/pb.replicator/Status', + replication__pb2.Subscription.SerializeToString, + replication__pb2.ReplicationStatus.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetSubscriptionUpdate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.replicator/GetSubscriptionUpdate', + replication__pb2.Subscription.SerializeToString, + replication__pb2.SubscriptionUpdate.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubmitReplication(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/pb.replicator/SubmitReplication', + replication__pb2.SignedSubscription.SerializeToString, + replication__pb2.ReplicationStatus.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/py/status_pb2_grpc.py b/py/status_pb2_grpc.py index 2377110..4d73034 100644 --- a/py/status_pb2_grpc.py +++ b/py/status_pb2_grpc.py @@ -6,59 +6,97 @@ class StatusAPIStub(object): - """provides utilities to retrieve api status information from - """ + """provides utilities to retrieve api status information from + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.Version = channel.unary_unary( - '/pb.StatusAPI/Version', - request_serializer=util__pb2.Empty.SerializeToString, - response_deserializer=status__pb2.VersionResponse.FromString, - ) - self.Status = channel.unary_unary( - '/pb.StatusAPI/Status', - request_serializer=util__pb2.Empty.SerializeToString, - response_deserializer=status__pb2.StatusResponse.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.Version = channel.unary_unary( + '/pb.StatusAPI/Version', + request_serializer=util__pb2.Empty.SerializeToString, + response_deserializer=status__pb2.VersionResponse.FromString, + ) + self.Status = channel.unary_unary( + '/pb.StatusAPI/Status', + request_serializer=util__pb2.Empty.SerializeToString, + response_deserializer=status__pb2.StatusResponse.FromString, + ) class StatusAPIServicer(object): - """provides utilities to retrieve api status information from - """ - - def Version(self, request, context): - """Version is used to retrieve api version information + """provides utilities to retrieve api status information from """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def Status(self, request, context): - """Status is used to retrieve api status information. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + def Version(self, request, context): + """Version is used to retrieve api version information + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Status(self, request, context): + """Status is used to retrieve api status information. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_StatusAPIServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Version': grpc.unary_unary_rpc_method_handler( - servicer.Version, - request_deserializer=util__pb2.Empty.FromString, - response_serializer=status__pb2.VersionResponse.SerializeToString, - ), - 'Status': grpc.unary_unary_rpc_method_handler( - servicer.Status, - request_deserializer=util__pb2.Empty.FromString, - response_serializer=status__pb2.StatusResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'pb.StatusAPI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'Version': grpc.unary_unary_rpc_method_handler( + servicer.Version, + request_deserializer=util__pb2.Empty.FromString, + response_serializer=status__pb2.VersionResponse.SerializeToString, + ), + 'Status': grpc.unary_unary_rpc_method_handler( + servicer.Status, + request_deserializer=util__pb2.Empty.FromString, + response_serializer=status__pb2.StatusResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'pb.StatusAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class StatusAPI(object): + """provides utilities to retrieve api status information from + """ + + @staticmethod + def Version(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.StatusAPI/Version', + util__pb2.Empty.SerializeToString, + status__pb2.VersionResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Status(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/pb.StatusAPI/Status', + util__pb2.Empty.SerializeToString, + status__pb2.StatusResponse.FromString, + options, channel_credentials, + call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/rs/src/admin.rs b/rs/src/admin.rs index ee9b2b6..0edca78 100644 --- a/rs/src/admin.rs +++ b/rs/src/admin.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `admin.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct ManageGCRequest { @@ -96,7 +93,7 @@ impl ::protobuf::Message for ManageGCRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.field_type != GCREQTYPE::GC_START { - os.write_enum(1, self.field_type.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?; } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) @@ -120,7 +117,7 @@ impl ::protobuf::Message for ManageGCRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -133,35 +130,25 @@ impl ::protobuf::Message for ManageGCRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "type", - |m: &ManageGCRequest| { &m.field_type }, - |m: &mut ManageGCRequest| { &mut m.field_type }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ManageGCRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "type", + |m: &ManageGCRequest| { &m.field_type }, + |m: &mut ManageGCRequest| { &mut m.field_type }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ManageGCRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ManageGCRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ManageGCRequest, - }; - unsafe { - instance.get(ManageGCRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ManageGCRequest::new) } } @@ -179,8 +166,8 @@ impl ::std::fmt::Debug for ManageGCRequest { } impl ::protobuf::reflect::ProtobufValue for ManageGCRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -289,7 +276,7 @@ impl ::protobuf::Message for ManageGCResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -302,35 +289,25 @@ impl ::protobuf::Message for ManageGCResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "status", - |m: &ManageGCResponse| { &m.status }, - |m: &mut ManageGCResponse| { &mut m.status }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ManageGCResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "status", + |m: &ManageGCResponse| { &m.status }, + |m: &mut ManageGCResponse| { &mut m.status }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ManageGCResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ManageGCResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ManageGCResponse, - }; - unsafe { - instance.get(ManageGCResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ManageGCResponse::new) } } @@ -348,8 +325,8 @@ impl ::std::fmt::Debug for ManageGCResponse { } impl ::protobuf::reflect::ProtobufValue for ManageGCResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -486,7 +463,7 @@ impl ::protobuf::Message for RefCountRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -499,40 +476,30 @@ impl ::protobuf::Message for RefCountRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "cids", - |m: &RefCountRequest| { &m.cids }, - |m: &mut RefCountRequest| { &mut m.cids }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "limit", - |m: &RefCountRequest| { &m.limit }, - |m: &mut RefCountRequest| { &mut m.limit }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "RefCountRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "cids", + |m: &RefCountRequest| { &m.cids }, + |m: &mut RefCountRequest| { &mut m.cids }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "limit", + |m: &RefCountRequest| { &m.limit }, + |m: &mut RefCountRequest| { &mut m.limit }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "RefCountRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static RefCountRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const RefCountRequest, - }; - unsafe { - instance.get(RefCountRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(RefCountRequest::new) } } @@ -551,8 +518,8 @@ impl ::std::fmt::Debug for RefCountRequest { } impl ::protobuf::reflect::ProtobufValue for RefCountRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -656,7 +623,7 @@ impl ::protobuf::Message for RefCountResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -669,35 +636,25 @@ impl ::protobuf::Message for RefCountResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeInt64>( - "cids", - |m: &RefCountResponse| { &m.cids }, - |m: &mut RefCountResponse| { &mut m.cids }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "RefCountResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeInt64>( + "cids", + |m: &RefCountResponse| { &m.cids }, + |m: &mut RefCountResponse| { &mut m.cids }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "RefCountResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static RefCountResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const RefCountResponse, - }; - unsafe { - instance.get(RefCountResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(RefCountResponse::new) } } @@ -715,8 +672,8 @@ impl ::std::fmt::Debug for RefCountResponse { } impl ::protobuf::reflect::ProtobufValue for RefCountResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -751,15 +708,10 @@ impl ::protobuf::ProtobufEnum for GCREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("GCREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("GCREQTYPE", file_descriptor_proto()) + }) } } @@ -773,8 +725,8 @@ impl ::std::default::Default for GCREQTYPE { } impl ::protobuf::reflect::ProtobufValue for GCREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -806,15 +758,10 @@ impl ::protobuf::ProtobufEnum for REFREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("REFREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("REFREQTYPE", file_descriptor_proto()) + }) } } @@ -828,8 +775,8 @@ impl ::std::default::Default for REFREQTYPE { } impl ::protobuf::reflect::ProtobufValue for REFREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -858,15 +805,10 @@ impl ::protobuf::ProtobufEnum for REFREQOPTS { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("REFREQOPTS", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("REFREQOPTS", file_descriptor_proto()) + }) } } @@ -880,8 +822,8 @@ impl ::std::default::Default for REFREQOPTS { } impl ::protobuf::reflect::ProtobufValue for REFREQOPTS { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -899,92 +841,87 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x01*\x1b\n\nREFREQOPTS\x12\r\n\tREF_FORCE\x10\02|\n\x08AdminAPI\x127\n\ \x08ManageGC\x12\x13.pb.ManageGCRequest\x1a\x14.pb.ManageGCResponse\"\0\ \x127\n\x08RefCount\x12\x13.pb.RefCountRequest\x1a\x14.pb.RefCountRespon\ - se\"\0J\xfc\x10\n\x06\x12\x04\0\0;\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\ - \x08\n\x01\x02\x12\x03\x01\x08\n\nb\n\x02\x06\0\x12\x04\x04\0\t\x01\x1aV\ + se\"\0J\x91\x11\n\x06\x12\x04\0\0;\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\ + \x08\n\x01\x02\x12\x03\x01\x08\n\nc\n\x02\x06\0\x12\x04\x04\0\t\x01\x1aW\ \x20AdminAPI\x20facilitates\x20administrative\x20management\x20of\x20Tem\ - poralX\x20via\x20a\x20localhost\x20gRPC\x20API\n\n\n\n\x03\x06\0\x01\x12\ - \x03\x04\x08\x10\nP\n\x04\x06\0\x02\0\x12\x03\x06\x04@\x1aC\x20ManageGC\ - \x20is\x20used\x20to\x20manage\x20TemporalX's\x20garbage\x20collection\ - \x20process\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x06\x08\x10\n\x0c\n\ + poralX\x20via\x20a\x20localhost\x20gRPC\x20API\r\n\n\n\n\x03\x06\0\x01\ + \x12\x03\x04\x08\x10\nQ\n\x04\x06\0\x02\0\x12\x03\x06\x04@\x1aD\x20Manag\ + eGC\x20is\x20used\x20to\x20manage\x20TemporalX's\x20garbage\x20collectio\ + n\x20process\r\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x06\x08\x10\n\x0c\n\ \x05\x06\0\x02\0\x02\x12\x03\x06\x11\x20\n\x0c\n\x05\x06\0\x02\0\x03\x12\ - \x03\x06+;\na\n\x04\x06\0\x02\x01\x12\x03\x08\x04@\x1aT\x20RefCount\x20i\ + \x03\x06+;\nb\n\x04\x06\0\x02\x01\x12\x03\x08\x04@\x1aU\x20RefCount\x20i\ s\x20used\x20to\x20analyze\x20the\x20counter\x20store\x20and\x20pull\x20\ - reference\x20count\x20information\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\ + reference\x20count\x20information\r\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\ \x03\x08\x08\x10\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\x08\x11\x20\n\x0c\ - \n\x05\x06\0\x02\x01\x03\x12\x03\x08+;\nP\n\x02\x05\0\x12\x04\x0c\0\x13\ - \x01\x1aD\x20GCREQTYPE\x20specifies\x20the\x20type\x20of\x20GC\x20manage\ - ment\x20call\x20being\x20performed\n\n\n\n\x03\x05\0\x01\x12\x03\x0c\x05\ - \x0e\n+\n\x04\x05\0\x02\0\x12\x03\x0e\x04\x11\x1a\x1e\x20GC_START\x20is\ - \x20used\x20to\x20start\x20gc\n\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x0e\ - \x04\x0c\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x0e\x0f\x10\n(\n\x04\x05\0\ - \x02\x01\x12\x03\x10\x04\x10\x1a\x1b\x20C_STOP\x20is\x20used\x20to\x20st\ - op\x20GC\n\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x10\x04\x0b\n\x0c\n\x05\ - \x05\0\x02\x01\x02\x12\x03\x10\x0e\x0f\n6\n\x04\x05\0\x02\x02\x12\x03\ - \x12\x04\x12\x1a)\x20GC_STATUS\x20is\x20used\x20to\x20retrieve\x20gc\x20\ - status\n\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x12\x04\r\n\x0c\n\x05\x05\ - \0\x02\x02\x02\x12\x03\x12\x10\x11\nW\n\x02\x04\0\x12\x04\x16\0\x19\x01\ - \x1aK\x20ManageGCRequest\x20is\x20a\x20message\x20used\x20to\x20control\ - \x20TemporalX\x20garbage\x20collection\n\n\n\n\x03\x04\0\x01\x12\x03\x16\ - \x08\x17\n=\n\x04\x04\0\x02\0\x12\x03\x18\x04\x17\x1a0\x20type\x20is\x20\ - the\x20type\x20of\x20gc\x20request\x20being\x20performed\n\n\r\n\x05\x04\ - \0\x02\0\x04\x12\x04\x18\x04\x16\x19\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\ - \x18\x04\r\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x18\x0e\x12\n\x0c\n\x05\ - \x04\0\x02\0\x03\x12\x03\x18\x15\x16\nU\n\x02\x04\x01\x12\x04\x1c\0\x1f\ - \x01\x1aI\x20ManageGCResponse\x20is\x20a\x20message\x20used\x20as\x20a\ - \x20response\x20to\x20gc\x20control\x20requests\n\n\n\n\x03\x04\x01\x01\ - \x12\x03\x1c\x08\x18\n/\n\x04\x04\x01\x02\0\x12\x03\x1e\x04\x16\x1a\"\ - \x20status\x20contains\x20a\x20status\x20message\n\n\r\n\x05\x04\x01\x02\ - \0\x04\x12\x04\x1e\x04\x1c\x1a\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\x1e\ - \x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x1e\x0b\x11\n\x0c\n\x05\x04\ - \x01\x02\0\x03\x12\x03\x1e\x14\x15\nU\n\x02\x05\x01\x12\x04\"\0&\x01\x1a\ - I\x20REFREQTYPE\x20is\x20used\x20to\x20indicate\x20the\x20type\x20of\x20\ - ref\x20count\x20request\x20being\x20made\n\n\n\n\x03\x05\x01\x01\x12\x03\ - \"\x05\x0f\nS\n\x04\x05\x01\x02\0\x12\x03$\x04\x16\x1aF\x20REF_GET_COUNT\ - \x20is\x20used\x20to\x20get\x20the\x20reference\x20count\x20of\x20a\x20p\ - articular\x20cid\n\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03$\x04\x11\n\x0c\ - \n\x05\x05\x01\x02\0\x02\x12\x03$\x14\x15\n\x0b\n\x04\x05\x01\x02\x01\ - \x12\x03%\x04\x13\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03%\x04\x0e\n\x0c\ - \n\x05\x05\x01\x02\x01\x02\x12\x03%\x11\x12\nG\n\x02\x05\x02\x12\x04)\0+\ - \x01\x1a;\x20REFREQOPTS\x20are\x20options\x20for\x20fine-tuning\x20ref\ - \x20count\x20requests\n\n\n\n\x03\x05\x02\x01\x12\x03)\x05\x0f\n\x0b\n\ - \x04\x05\x02\x02\0\x12\x03*\x04\x12\n\x0c\n\x05\x05\x02\x02\0\x01\x12\ - \x03*\x04\r\n\x0c\n\x05\x05\x02\x02\0\x02\x12\x03*\x10\x11\nm\n\x02\x04\ - \x02\x12\x04/\04\x01\x1aa\x20RefCountRequest\x20is\x20used\x20to\x20anal\ - yze\x20the\x20reference\n\x20counter\x20store,\x20and\x20retrieve\x20usa\ - ge\x20information\n\n\n\n\x03\x04\x02\x01\x12\x03/\x08\x17\n?\n\x04\x04\ - \x02\x02\0\x12\x031\x04\x1d\x1a2\x20cids\x20are\x20optional\x20cids\x20t\ - o\x20filter\x20our\x20requests\x20by\n\n\x0c\n\x05\x04\x02\x02\0\x04\x12\ - \x031\x04\x0c\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x031\r\x13\n\x0c\n\x05\ - \x04\x02\x02\0\x01\x12\x031\x14\x18\n\x0c\n\x05\x04\x02\x02\0\x03\x12\ - \x031\x1b\x1c\ne\n\x04\x04\x02\x02\x01\x12\x033\x04\x14\x1aX\x20can\x20b\ - e\x20used\x20to\x20apply\x20limits\x20to\x20the\x20number\x20of\x20store\ - \x20requests\x20made,\x20search\x20limits,\x20etc..\n\n\r\n\x05\x04\x02\ - \x02\x01\x04\x12\x043\x041\x1d\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x033\ - \x04\t\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x033\n\x0f\n\x0c\n\x05\x04\ - \x02\x02\x01\x03\x12\x033\x12\x13\nb\n\x02\x04\x03\x12\x048\0;\x01\x1aV\ - \x20RefCountResponse\x20is\x20used\x20to\x20return\x20the\x20information\ - \n\x20gathered\x20by\x20a\x20RefCount\x20rpc\x20call.\n\n\n\n\x03\x04\ - \x03\x01\x12\x038\x08\x18\nB\n\x04\x04\x03\x02\0\x12\x03:\x04\x20\x1a5\ - \x20cids\x20is\x20a\x20mapping\x20of\x20the\x20cid\x20to\x20its\x20refer\ - ence\x20count\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x04:\x048\x1a\n\x0c\n\ - \x05\x04\x03\x02\0\x06\x12\x03:\x04\x16\n\x0c\n\x05\x04\x03\x02\0\x01\ - \x12\x03:\x17\x1b\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03:\x1e\x1fb\x06pro\ - to3\ + \n\x05\x06\0\x02\x01\x03\x12\x03\x08+;\nQ\n\x02\x05\0\x12\x04\x0c\0\x13\ + \x01\x1aE\x20GCREQTYPE\x20specifies\x20the\x20type\x20of\x20GC\x20manage\ + ment\x20call\x20being\x20performed\r\n\n\n\n\x03\x05\0\x01\x12\x03\x0c\ + \x05\x0e\n,\n\x04\x05\0\x02\0\x12\x03\x0e\x04\x11\x1a\x1f\x20GC_START\ + \x20is\x20used\x20to\x20start\x20gc\r\n\n\x0c\n\x05\x05\0\x02\0\x01\x12\ + \x03\x0e\x04\x0c\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x0e\x0f\x10\n)\n\ + \x04\x05\0\x02\x01\x12\x03\x10\x04\x10\x1a\x1c\x20C_STOP\x20is\x20used\ + \x20to\x20stop\x20GC\r\n\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x10\x04\ + \x0b\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x10\x0e\x0f\n7\n\x04\x05\0\ + \x02\x02\x12\x03\x12\x04\x12\x1a*\x20GC_STATUS\x20is\x20used\x20to\x20re\ + trieve\x20gc\x20status\r\n\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x12\x04\ + \r\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x12\x10\x11\nX\n\x02\x04\0\x12\ + \x04\x16\0\x19\x01\x1aL\x20ManageGCRequest\x20is\x20a\x20message\x20used\ + \x20to\x20control\x20TemporalX\x20garbage\x20collection\r\n\n\n\n\x03\ + \x04\0\x01\x12\x03\x16\x08\x17\n>\n\x04\x04\0\x02\0\x12\x03\x18\x04\x17\ + \x1a1\x20type\x20is\x20the\x20type\x20of\x20gc\x20request\x20being\x20pe\ + rformed\r\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x18\x04\x16\x19\n\x0c\n\ + \x05\x04\0\x02\0\x06\x12\x03\x18\x04\r\n\x0c\n\x05\x04\0\x02\0\x01\x12\ + \x03\x18\x0e\x12\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x18\x15\x16\nV\n\ + \x02\x04\x01\x12\x04\x1c\0\x1f\x01\x1aJ\x20ManageGCResponse\x20is\x20a\ + \x20message\x20used\x20as\x20a\x20response\x20to\x20gc\x20control\x20req\ + uests\r\n\n\n\n\x03\x04\x01\x01\x12\x03\x1c\x08\x18\n0\n\x04\x04\x01\x02\ + \0\x12\x03\x1e\x04\x16\x1a#\x20status\x20contains\x20a\x20status\x20mess\ + age\r\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04\x1e\x04\x1c\x1a\n\x0c\n\x05\ + \x04\x01\x02\0\x05\x12\x03\x1e\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\ + \x03\x1e\x0b\x11\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x1e\x14\x15\nV\n\ + \x02\x05\x01\x12\x04\"\0&\x01\x1aJ\x20REFREQTYPE\x20is\x20used\x20to\x20\ + indicate\x20the\x20type\x20of\x20ref\x20count\x20request\x20being\x20mad\ + e\r\n\n\n\n\x03\x05\x01\x01\x12\x03\"\x05\x0f\nT\n\x04\x05\x01\x02\0\x12\ + \x03$\x04\x16\x1aG\x20REF_GET_COUNT\x20is\x20used\x20to\x20get\x20the\ + \x20reference\x20count\x20of\x20a\x20particular\x20cid\r\n\n\x0c\n\x05\ + \x05\x01\x02\0\x01\x12\x03$\x04\x11\n\x0c\n\x05\x05\x01\x02\0\x02\x12\ + \x03$\x14\x15\n\x0b\n\x04\x05\x01\x02\x01\x12\x03%\x04\x13\n\x0c\n\x05\ + \x05\x01\x02\x01\x01\x12\x03%\x04\x0e\n\x0c\n\x05\x05\x01\x02\x01\x02\ + \x12\x03%\x11\x12\nH\n\x02\x05\x02\x12\x04)\0+\x01\x1a<\x20REFREQOPTS\ + \x20are\x20options\x20for\x20fine-tuning\x20ref\x20count\x20requests\r\n\ + \n\n\n\x03\x05\x02\x01\x12\x03)\x05\x0f\n\x0b\n\x04\x05\x02\x02\0\x12\ + \x03*\x04\x12\n\x0c\n\x05\x05\x02\x02\0\x01\x12\x03*\x04\r\n\x0c\n\x05\ + \x05\x02\x02\0\x02\x12\x03*\x10\x11\no\n\x02\x04\x02\x12\x04/\04\x01\x1a\ + c\x20RefCountRequest\x20is\x20used\x20to\x20analyze\x20the\x20reference\ + \r\n\x20counter\x20store,\x20and\x20retrieve\x20usage\x20information\r\n\ + \n\n\n\x03\x04\x02\x01\x12\x03/\x08\x17\n@\n\x04\x04\x02\x02\0\x12\x031\ + \x04\x1d\x1a3\x20cids\x20are\x20optional\x20cids\x20to\x20filter\x20our\ + \x20requests\x20by\r\n\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x031\x04\x0c\n\ + \x0c\n\x05\x04\x02\x02\0\x05\x12\x031\r\x13\n\x0c\n\x05\x04\x02\x02\0\ + \x01\x12\x031\x14\x18\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x031\x1b\x1c\nf\ + \n\x04\x04\x02\x02\x01\x12\x033\x04\x14\x1aY\x20can\x20be\x20used\x20to\ + \x20apply\x20limits\x20to\x20the\x20number\x20of\x20store\x20requests\ + \x20made,\x20search\x20limits,\x20etc..\r\n\n\r\n\x05\x04\x02\x02\x01\ + \x04\x12\x043\x041\x1d\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x033\x04\t\n\ + \x0c\n\x05\x04\x02\x02\x01\x01\x12\x033\n\x0f\n\x0c\n\x05\x04\x02\x02\ + \x01\x03\x12\x033\x12\x13\nd\n\x02\x04\x03\x12\x048\0;\x01\x1aX\x20RefCo\ + untResponse\x20is\x20used\x20to\x20return\x20the\x20information\r\n\x20g\ + athered\x20by\x20a\x20RefCount\x20rpc\x20call.\r\n\n\n\n\x03\x04\x03\x01\ + \x12\x038\x08\x18\nC\n\x04\x04\x03\x02\0\x12\x03:\x04\x20\x1a6\x20cids\ + \x20is\x20a\x20mapping\x20of\x20the\x20cid\x20to\x20its\x20reference\x20\ + count\r\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x04:\x048\x1a\n\x0c\n\x05\x04\ + \x03\x02\0\x06\x12\x03:\x04\x16\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03:\ + \x17\x1b\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03:\x1e\x1fb\x06proto3\ "; -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/rs/src/admin_grpc.rs b/rs/src/admin_grpc.rs index 101e4cf..c282b9b 100644 --- a/rs/src/admin_grpc.rs +++ b/rs/src/admin_grpc.rs @@ -75,7 +75,7 @@ impl AdminApiClient { pub fn ref_count_async(&self, req: &super::admin::RefCountRequest) -> ::grpcio::Result<::grpcio::ClientUnaryReceiver> { self.ref_count_async_opt(req, ::grpcio::CallOption::default()) } - pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { + pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { self.client.spawn(f) } } diff --git a/rs/src/file.rs b/rs/src/file.rs index 6b26a1c..2a2ac59 100644 --- a/rs/src/file.rs +++ b/rs/src/file.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `file.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct UploadRequest { @@ -51,7 +48,7 @@ impl UploadRequest { pub fn get_blob(&self) -> &Blob { - self.blob.as_ref().unwrap_or_else(|| Blob::default_instance()) + self.blob.as_ref().unwrap_or_else(|| ::default_instance()) } pub fn clear_blob(&mut self) { self.blob.clear(); @@ -84,7 +81,7 @@ impl UploadRequest { pub fn get_options(&self) -> &UploadOptions { - self.options.as_ref().unwrap_or_else(|| UploadOptions::default_instance()) + self.options.as_ref().unwrap_or_else(|| ::default_instance()) } pub fn clear_options(&mut self) { self.options.clear(); @@ -197,7 +194,7 @@ impl ::protobuf::Message for UploadRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -210,40 +207,30 @@ impl ::protobuf::Message for UploadRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "blob", - |m: &UploadRequest| { &m.blob }, - |m: &mut UploadRequest| { &mut m.blob }, - )); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "options", - |m: &UploadRequest| { &m.options }, - |m: &mut UploadRequest| { &mut m.options }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "UploadRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "blob", + |m: &UploadRequest| { &m.blob }, + |m: &mut UploadRequest| { &mut m.blob }, + )); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "options", + |m: &UploadRequest| { &m.options }, + |m: &mut UploadRequest| { &mut m.options }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "UploadRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static UploadRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const UploadRequest, - }; - unsafe { - instance.get(UploadRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(UploadRequest::new) } } @@ -262,8 +249,8 @@ impl ::std::fmt::Debug for UploadRequest { } impl ::protobuf::reflect::ProtobufValue for UploadRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -273,6 +260,8 @@ pub struct UploadOptions { pub multiHash: ::std::string::String, pub layout: ::std::string::String, pub chunker: ::std::string::String, + pub refID: ::std::string::String, + pub progressive: bool, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -366,6 +355,47 @@ impl UploadOptions { pub fn take_chunker(&mut self) -> ::std::string::String { ::std::mem::replace(&mut self.chunker, ::std::string::String::new()) } + + // string refID = 4; + + + pub fn get_refID(&self) -> &str { + &self.refID + } + pub fn clear_refID(&mut self) { + self.refID.clear(); + } + + // Param is passed by value, moved + pub fn set_refID(&mut self, v: ::std::string::String) { + self.refID = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_refID(&mut self) -> &mut ::std::string::String { + &mut self.refID + } + + // Take field + pub fn take_refID(&mut self) -> ::std::string::String { + ::std::mem::replace(&mut self.refID, ::std::string::String::new()) + } + + // bool progressive = 5; + + + pub fn get_progressive(&self) -> bool { + self.progressive + } + pub fn clear_progressive(&mut self) { + self.progressive = false; + } + + // Param is passed by value, moved + pub fn set_progressive(&mut self, v: bool) { + self.progressive = v; + } } impl ::protobuf::Message for UploadOptions { @@ -386,6 +416,16 @@ impl ::protobuf::Message for UploadOptions { 3 => { ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.chunker)?; }, + 4 => { + ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.refID)?; + }, + 5 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.progressive = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -407,6 +447,12 @@ impl ::protobuf::Message for UploadOptions { if !self.chunker.is_empty() { my_size += ::protobuf::rt::string_size(3, &self.chunker); } + if !self.refID.is_empty() { + my_size += ::protobuf::rt::string_size(4, &self.refID); + } + if self.progressive != false { + my_size += 2; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -422,6 +468,12 @@ impl ::protobuf::Message for UploadOptions { if !self.chunker.is_empty() { os.write_string(3, &self.chunker)?; } + if !self.refID.is_empty() { + os.write_string(4, &self.refID)?; + } + if self.progressive != false { + os.write_bool(5, self.progressive)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -444,7 +496,7 @@ impl ::protobuf::Message for UploadOptions { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -457,45 +509,45 @@ impl ::protobuf::Message for UploadOptions { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "multiHash", - |m: &UploadOptions| { &m.multiHash }, - |m: &mut UploadOptions| { &mut m.multiHash }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "layout", - |m: &UploadOptions| { &m.layout }, - |m: &mut UploadOptions| { &mut m.layout }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "chunker", - |m: &UploadOptions| { &m.chunker }, - |m: &mut UploadOptions| { &mut m.chunker }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "UploadOptions", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "multiHash", + |m: &UploadOptions| { &m.multiHash }, + |m: &mut UploadOptions| { &mut m.multiHash }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "layout", + |m: &UploadOptions| { &m.layout }, + |m: &mut UploadOptions| { &mut m.layout }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "chunker", + |m: &UploadOptions| { &m.chunker }, + |m: &mut UploadOptions| { &mut m.chunker }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "refID", + |m: &UploadOptions| { &m.refID }, + |m: &mut UploadOptions| { &mut m.refID }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "progressive", + |m: &UploadOptions| { &m.progressive }, + |m: &mut UploadOptions| { &mut m.progressive }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "UploadOptions", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static UploadOptions { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const UploadOptions, - }; - unsafe { - instance.get(UploadOptions::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(UploadOptions::new) } } @@ -504,6 +556,8 @@ impl ::protobuf::Clear for UploadOptions { self.multiHash.clear(); self.layout.clear(); self.chunker.clear(); + self.refID.clear(); + self.progressive = false; self.unknown_fields.clear(); } } @@ -515,8 +569,8 @@ impl ::std::fmt::Debug for UploadOptions { } impl ::protobuf::reflect::ProtobufValue for UploadOptions { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -712,7 +766,7 @@ impl ::protobuf::Message for DownloadRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -725,50 +779,40 @@ impl ::protobuf::Message for DownloadRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "hash", - |m: &DownloadRequest| { &m.hash }, - |m: &mut DownloadRequest| { &mut m.hash }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "chunkSize", - |m: &DownloadRequest| { &m.chunkSize }, - |m: &mut DownloadRequest| { &mut m.chunkSize }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "rangeStart", - |m: &DownloadRequest| { &m.rangeStart }, - |m: &mut DownloadRequest| { &mut m.rangeStart }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "rangeEnd", - |m: &DownloadRequest| { &m.rangeEnd }, - |m: &mut DownloadRequest| { &mut m.rangeEnd }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "DownloadRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "hash", + |m: &DownloadRequest| { &m.hash }, + |m: &mut DownloadRequest| { &mut m.hash }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "chunkSize", + |m: &DownloadRequest| { &m.chunkSize }, + |m: &mut DownloadRequest| { &mut m.chunkSize }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "rangeStart", + |m: &DownloadRequest| { &m.rangeStart }, + |m: &mut DownloadRequest| { &mut m.rangeStart }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "rangeEnd", + |m: &DownloadRequest| { &m.rangeEnd }, + |m: &mut DownloadRequest| { &mut m.rangeEnd }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "DownloadRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static DownloadRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const DownloadRequest, - }; - unsafe { - instance.get(DownloadRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(DownloadRequest::new) } } @@ -789,8 +833,8 @@ impl ::std::fmt::Debug for DownloadRequest { } impl ::protobuf::reflect::ProtobufValue for DownloadRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -818,7 +862,7 @@ impl DownloadResponse { pub fn get_blob(&self) -> &Blob { - self.blob.as_ref().unwrap_or_else(|| Blob::default_instance()) + self.blob.as_ref().unwrap_or_else(|| ::default_instance()) } pub fn clear_blob(&mut self) { self.blob.clear(); @@ -914,7 +958,7 @@ impl ::protobuf::Message for DownloadResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -927,35 +971,25 @@ impl ::protobuf::Message for DownloadResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "blob", - |m: &DownloadResponse| { &m.blob }, - |m: &mut DownloadResponse| { &mut m.blob }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "DownloadResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "blob", + |m: &DownloadResponse| { &m.blob }, + |m: &mut DownloadResponse| { &mut m.blob }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "DownloadResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static DownloadResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const DownloadResponse, - }; - unsafe { - instance.get(DownloadResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(DownloadResponse::new) } } @@ -973,8 +1007,8 @@ impl ::std::fmt::Debug for DownloadResponse { } impl ::protobuf::reflect::ProtobufValue for DownloadResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1141,7 +1175,7 @@ impl ::protobuf::Message for Blob { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1154,45 +1188,35 @@ impl ::protobuf::Message for Blob { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "content", - |m: &Blob| { &m.content }, - |m: &mut Blob| { &mut m.content }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "rangeStart", - |m: &Blob| { &m.rangeStart }, - |m: &mut Blob| { &mut m.rangeStart }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "rangeEnd", - |m: &Blob| { &m.rangeEnd }, - |m: &mut Blob| { &mut m.rangeEnd }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "Blob", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "content", + |m: &Blob| { &m.content }, + |m: &mut Blob| { &mut m.content }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "rangeStart", + |m: &Blob| { &m.rangeStart }, + |m: &mut Blob| { &mut m.rangeStart }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "rangeEnd", + |m: &Blob| { &m.rangeEnd }, + |m: &mut Blob| { &mut m.rangeEnd }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "Blob", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static Blob { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const Blob, - }; - unsafe { - instance.get(Blob::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(Blob::new) } } @@ -1212,139 +1236,481 @@ impl ::std::fmt::Debug for Blob { } impl ::protobuf::reflect::ProtobufValue for Blob { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +pub struct RemoveRequest { + // message fields + pub refIDs: ::std::collections::HashMap<::std::string::String, ::std::string::String>, + // special fields + pub unknown_fields: ::protobuf::UnknownFields, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a RemoveRequest { + fn default() -> &'a RemoveRequest { + ::default_instance() + } +} + +impl RemoveRequest { + pub fn new() -> RemoveRequest { + ::std::default::Default::default() + } + + // repeated .pb.RemoveRequest.RefIDsEntry refIDs = 1; + + + pub fn get_refIDs(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> { + &self.refIDs + } + pub fn clear_refIDs(&mut self) { + self.refIDs.clear(); + } + + // Param is passed by value, moved + pub fn set_refIDs(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) { + self.refIDs = v; + } + + // Mutable pointer to the field. + pub fn mut_refIDs(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> { + &mut self.refIDs + } + + // Take field + pub fn take_refIDs(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> { + ::std::mem::replace(&mut self.refIDs, ::std::collections::HashMap::new()) + } +} + +impl ::protobuf::Message for RemoveRequest { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.refIDs)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(1, &self.refIDs); + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { + ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(1, &self.refIDs, os)?; + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> RemoveRequest { + RemoveRequest::new() + } + + fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>( + "refIDs", + |m: &RemoveRequest| { &m.refIDs }, + |m: &mut RemoveRequest| { &mut m.refIDs }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "RemoveRequest", + fields, + file_descriptor_proto() + ) + }) + } + + fn default_instance() -> &'static RemoveRequest { + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(RemoveRequest::new) + } +} + +impl ::protobuf::Clear for RemoveRequest { + fn clear(&mut self) { + self.refIDs.clear(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for RemoveRequest { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for RemoveRequest { + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +pub struct RemoveResponse { + // message fields + pub count: u64, + // special fields + pub unknown_fields: ::protobuf::UnknownFields, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a RemoveResponse { + fn default() -> &'a RemoveResponse { + ::default_instance() + } +} + +impl RemoveResponse { + pub fn new() -> RemoveResponse { + ::std::default::Default::default() + } + + // uint64 count = 1; + + + pub fn get_count(&self) -> u64 { + self.count + } + pub fn clear_count(&mut self) { + self.count = 0; + } + + // Param is passed by value, moved + pub fn set_count(&mut self, v: u64) { + self.count = v; + } +} + +impl ::protobuf::Message for RemoveResponse { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint64()?; + self.count = tmp; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if self.count != 0 { + my_size += ::protobuf::rt::value_size(1, self.count, ::protobuf::wire_format::WireTypeVarint); + } + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { + if self.count != 0 { + os.write_uint64(1, self.count)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> RemoveResponse { + RemoveResponse::new() + } + + fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "count", + |m: &RemoveResponse| { &m.count }, + |m: &mut RemoveResponse| { &mut m.count }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "RemoveResponse", + fields, + file_descriptor_proto() + ) + }) + } + + fn default_instance() -> &'static RemoveResponse { + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(RemoveResponse::new) + } +} + +impl ::protobuf::Clear for RemoveResponse { + fn clear(&mut self) { + self.count = 0; + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for RemoveResponse { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for RemoveResponse { + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } static file_descriptor_proto_data: &'static [u8] = b"\ \n\nfile.proto\x12\x02pb\x1a\nutil.proto\"Z\n\rUploadRequest\x12\x1c\n\ \x04blob\x18\x01\x20\x01(\x0b2\x08.pb.BlobR\x04blob\x12+\n\x07options\ - \x18\x02\x20\x01(\x0b2\x11.pb.UploadOptionsR\x07options\"_\n\rUploadOpti\ - ons\x12\x1c\n\tmultiHash\x18\x01\x20\x01(\tR\tmultiHash\x12\x16\n\x06lay\ - out\x18\x02\x20\x01(\tR\x06layout\x12\x18\n\x07chunker\x18\x03\x20\x01(\ - \tR\x07chunker\"\x7f\n\x0fDownloadRequest\x12\x12\n\x04hash\x18\x01\x20\ - \x01(\tR\x04hash\x12\x1c\n\tchunkSize\x18\x02\x20\x01(\x05R\tchunkSize\ - \x12\x1e\n\nrangeStart\x18\x03\x20\x01(\x04R\nrangeStart\x12\x1a\n\x08ra\ - ngeEnd\x18\x04\x20\x01(\x04R\x08rangeEnd\"0\n\x10DownloadResponse\x12\ - \x1c\n\x04blob\x18\x01\x20\x01(\x0b2\x08.pb.BlobR\x04blob\"\\\n\x04Blob\ - \x12\x18\n\x07content\x18\x01\x20\x01(\x0cR\x07content\x12\x1e\n\nrangeS\ - tart\x18\x02\x20\x01(\x04R\nrangeStart\x12\x1a\n\x08rangeEnd\x18\x03\x20\ - \x01(\x04R\x08rangeEnd2~\n\x07FileAPI\x124\n\nUploadFile\x12\x11.pb.Uplo\ - adRequest\x1a\x0f.pb.PutResponse\"\0(\x01\x12=\n\x0cDownloadFile\x12\x13\ - .pb.DownloadRequest\x1a\x14.pb.DownloadResponse\"\00\x01J\xda\x17\n\x06\ - \x12\x04\0\0B\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\ - \x03\x01\x08\n\n\t\n\x02\x03\0\x12\x03\x02\x07\x13\nT\n\x02\x06\0\x12\ - \x04\x05\0\n\x01\x1aH\x20FileAPI\x20provides\x20a\x20gRPC\x20api\x20to\ - \x20upload/download\x20files\x20as\x20UnixFS\x20objects\n\n\n\n\x03\x06\ - \0\x01\x12\x03\x05\x08\x0f\n]\n\x04\x06\0\x02\0\x12\x03\x07\x04C\x1aP\ - \x20UploadFile\x20allows\x20uploading\x20a\x20file\x20as\x20a\x20UnixFS\ - \x20object\x20(equivalent\x20to\x20ipfs\x20add)\n\n\x0c\n\x05\x06\0\x02\ - \0\x01\x12\x03\x07\x08\x12\n\x0c\n\x05\x06\0\x02\0\x05\x12\x03\x07\x13\ - \x19\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x1a'\n\x0c\n\x05\x06\0\x02\ - \0\x03\x12\x03\x073>\nW\n\x04\x06\0\x02\x01\x12\x03\t\x04K\x1aJ\x20Downl\ - oadFile\x20allows\x20downloading\x20a\x20UnixFS\x20object\x20(equivalent\ - \x20to\x20ipfs\x20get)\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x03\t\x08\x14\ - \n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\t\x15$\n\x0c\n\x05\x06\0\x02\x01\ - \x06\x12\x03\t/5\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t6F\nE\n\x02\x04\ - \0\x12\x04\x0e\0\x13\x01\x1a9\x20UploadRequest\x20is\x20used\x20to\x20up\ - load\x20data\x20as\x20a\x20UnixFS\x20object\n\n\n\n\x03\x04\0\x01\x12\ - \x03\x0e\x08\x15\n-\n\x04\x04\0\x02\0\x12\x03\x10\x04\x12\x1a\x20\x20blo\ - b\x20is\x20a\x20single\x20chunk\x20of\x20data\n\n\r\n\x05\x04\0\x02\0\ - \x04\x12\x04\x10\x04\x0e\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x10\x04\ - \x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x10\t\r\n\x0c\n\x05\x04\0\x02\0\ - \x03\x12\x03\x10\x10\x11\nA\n\x04\x04\0\x02\x01\x12\x03\x12\x04\x1e\x1a4\ - \x20options\x20allows\x20setting\x20the\x20optoins\x20for\x20this\x20upl\ - oad\n\n\r\n\x05\x04\0\x02\x01\x04\x12\x04\x12\x04\x10\x12\n\x0c\n\x05\ - \x04\0\x02\x01\x06\x12\x03\x12\x04\x11\n\x0c\n\x05\x04\0\x02\x01\x01\x12\ - \x03\x12\x12\x19\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x12\x1c\x1d\nN\n\ - \x02\x04\x01\x12\x04\x16\0\x1d\x01\x1aB\x20UploadOptions\x20allows\x20co\ - ntrolling\x20the\x20parameters\x20of\x20a\x20file\x20upload\n\n\n\n\x03\ - \x04\x01\x01\x12\x03\x16\x08\x15\n5\n\x04\x04\x01\x02\0\x12\x03\x18\x04\ - \x19\x1a(\x20specifes\x20the\x20multihash\x20function\x20to\x20use\n\n\r\ - \n\x05\x04\x01\x02\0\x04\x12\x04\x18\x04\x16\x17\n\x0c\n\x05\x04\x01\x02\ - \0\x05\x12\x03\x18\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x18\x0b\ - \x14\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x18\x17\x18\n<\n\x04\x04\x01\ - \x02\x01\x12\x03\x1a\x04\x16\x1a/\x20specifies\x20the\x20dag\x20layout\ - \x20(balanced,\x20tricklet)\n\n\r\n\x05\x04\x01\x02\x01\x04\x12\x04\x1a\ - \x04\x18\x19\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1a\x04\n\n\x0c\n\ - \x05\x04\x01\x02\x01\x01\x12\x03\x1a\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\ - \x03\x12\x03\x1a\x14\x15\nB\n\x04\x04\x01\x02\x02\x12\x03\x1c\x04\x17\ - \x1a5\x20specifies\x20the\x20chunker\x20type\x20(rabin,\x20default,\x20e\ - tc...)\n\n\r\n\x05\x04\x01\x02\x02\x04\x12\x04\x1c\x04\x1a\x16\n\x0c\n\ - \x05\x04\x01\x02\x02\x05\x12\x03\x1c\x04\n\n\x0c\n\x05\x04\x01\x02\x02\ - \x01\x12\x03\x1c\x0b\x12\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1c\x15\ - \x16\n\xa6\x01\n\x02\x04\x02\x12\x04\"\0/\x01\x1a\x99\x01\x20DownloadReq\ - uest\x20is\x20used\x20to\x20download\x20a\x20UnixFS\x20object\n\x20altho\ - ugh\x20it\x20can\x20in\x20theory\x20be\x20used\x20with\x20other\x20type\ - \x20of\x20objects\n\x20there\x20may\x20be\x20some\x20undefined\x20behavi\ - or\n\n\n\n\x03\x04\x02\x01\x12\x03\"\x08\x17\nU\n\x04\x04\x02\x02\0\x12\ - \x03$\x04\x14\x1aH\x20hash\x20is\x20the\x20ipfs\x20hash/cid\x20(content\ - \x20identifier)\x20of\x20the\x20data\x20to\x20download\n\n\r\n\x05\x04\ - \x02\x02\0\x04\x12\x04$\x04\"\x19\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03$\ - \x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03$\x0b\x0f\n\x0c\n\x05\x04\ - \x02\x02\0\x03\x12\x03$\x12\x13\n\xb7\x01\n\x04\x04\x02\x02\x01\x12\x03(\ - \x04\x18\x1a\xa9\x01\x20chunkSize\x20specifies\x20the\x20size\x20of\x20c\ - hunks\x20to\x20be\x20sent\x20to\x20the\x20client\n\x20it\x20allows\x20us\ + \x18\x02\x20\x01(\x0b2\x11.pb.UploadOptionsR\x07options\"\x97\x01\n\rUpl\ + oadOptions\x12\x1c\n\tmultiHash\x18\x01\x20\x01(\tR\tmultiHash\x12\x16\n\ + \x06layout\x18\x02\x20\x01(\tR\x06layout\x12\x18\n\x07chunker\x18\x03\ + \x20\x01(\tR\x07chunker\x12\x14\n\x05refID\x18\x04\x20\x01(\tR\x05refID\ + \x12\x20\n\x0bprogressive\x18\x05\x20\x01(\x08R\x0bprogressive\"\x7f\n\ + \x0fDownloadRequest\x12\x12\n\x04hash\x18\x01\x20\x01(\tR\x04hash\x12\ + \x1c\n\tchunkSize\x18\x02\x20\x01(\x05R\tchunkSize\x12\x1e\n\nrangeStart\ + \x18\x03\x20\x01(\x04R\nrangeStart\x12\x1a\n\x08rangeEnd\x18\x04\x20\x01\ + (\x04R\x08rangeEnd\"0\n\x10DownloadResponse\x12\x1c\n\x04blob\x18\x01\ + \x20\x01(\x0b2\x08.pb.BlobR\x04blob\"\\\n\x04Blob\x12\x18\n\x07content\ + \x18\x01\x20\x01(\x0cR\x07content\x12\x1e\n\nrangeStart\x18\x02\x20\x01(\ + \x04R\nrangeStart\x12\x1a\n\x08rangeEnd\x18\x03\x20\x01(\x04R\x08rangeEn\ + d\"\x81\x01\n\rRemoveRequest\x125\n\x06refIDs\x18\x01\x20\x03(\x0b2\x1d.\ + pb.RemoveRequest.RefIDsEntryR\x06refIDs\x1a9\n\x0bRefIDsEntry\x12\x10\n\ + \x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\t\ + R\x05value:\x028\x01\"&\n\x0eRemoveResponse\x12\x14\n\x05count\x18\x01\ + \x20\x01(\x04R\x05count2\xb5\x01\n\x07FileAPI\x124\n\nUploadFile\x12\x11\ + .pb.UploadRequest\x1a\x0f.pb.PutResponse\"\0(\x01\x12=\n\x0cDownloadFile\ + \x12\x13.pb.DownloadRequest\x1a\x14.pb.DownloadResponse\"\00\x01\x125\n\ + \nRemoveFile\x12\x11.pb.RemoveRequest\x1a\x12.pb.RemoveResponse\"\0J\xa4\ + \x20\n\x06\x12\x04\0\0U\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\ + \x02\x12\x03\x01\x08\n\n\t\n\x02\x03\0\x12\x03\x02\x07\x13\nU\n\x02\x06\ + \0\x12\x04\x05\0\x0c\x01\x1aI\x20FileAPI\x20provides\x20a\x20gRPC\x20api\ + \x20to\x20upload/download\x20files\x20as\x20UnixFS\x20objects\r\n\n\n\n\ + \x03\x06\0\x01\x12\x03\x05\x08\x0f\nb\n\x04\x06\0\x02\0\x12\x03\x07\x04B\ + \x1aU\x20UploadFile\x20allows\x20uploading\x20a\x20file\x20as\x20a\x20Un\ + ixFS\x20object\x20(equivalent\x20to\x20ipfs\x20pin\x20add)\r\n\n\x0c\n\ + \x05\x06\0\x02\0\x01\x12\x03\x07\x08\x12\n\x0c\n\x05\x06\0\x02\0\x05\x12\ + \x03\x07\x13\x19\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x1a'\n\x0c\n\ + \x05\x06\0\x02\0\x03\x12\x03\x073>\nX\n\x04\x06\0\x02\x01\x12\x03\t\x04J\ + \x1aK\x20DownloadFile\x20allows\x20downloading\x20a\x20UnixFS\x20object\ + \x20(equivalent\x20to\x20ipfs\x20get)\r\n\n\x0c\n\x05\x06\0\x02\x01\x01\ + \x12\x03\t\x08\x14\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\t\x15$\n\x0c\n\ + \x05\x06\0\x02\x01\x06\x12\x03\t/5\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\ + \t6F\ny\n\x04\x06\0\x02\x02\x12\x03\x0b\x04=\x1al\x20RemoveFile\x20allow\ + s\x20removing\x20a\x20UnixFS\x20object\x20or\x20decrease\x20it's\x20refe\ + rence\x20counter\x20(equivalent\x20to\x20ipfs\x20pin\x20rm)\r\n\n\x0c\n\ + \x05\x06\0\x02\x02\x01\x12\x03\x0b\x08\x12\n\x0c\n\x05\x06\0\x02\x02\x02\ + \x12\x03\x0b\x13\x20\n\x0c\n\x05\x06\0\x02\x02\x03\x12\x03\x0b+9\nF\n\ + \x02\x04\0\x12\x04\x10\0\x15\x01\x1a:\x20UploadRequest\x20is\x20used\x20\ + to\x20upload\x20data\x20as\x20a\x20UnixFS\x20object\r\n\n\n\n\x03\x04\0\ + \x01\x12\x03\x10\x08\x15\n.\n\x04\x04\0\x02\0\x12\x03\x12\x04\x12\x1a!\ + \x20blob\x20is\x20a\x20single\x20chunk\x20of\x20data\r\n\n\r\n\x05\x04\0\ + \x02\0\x04\x12\x04\x12\x04\x10\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\ + \x12\x04\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x12\t\r\n\x0c\n\x05\x04\ + \0\x02\0\x03\x12\x03\x12\x10\x11\no\n\x04\x04\0\x02\x01\x12\x03\x14\x04\ + \x1e\x1ab\x20options\x20allows\x20setting\x20the\x20options\x20for\x20th\ + is\x20upload,\x20only\x20valid\x20in\x20the\x20first\x20message\x20of\ + \x20a\x20stream\r\n\n\r\n\x05\x04\0\x02\x01\x04\x12\x04\x14\x04\x12\x12\ + \n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x14\x04\x11\n\x0c\n\x05\x04\0\x02\ + \x01\x01\x12\x03\x14\x12\x19\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x14\ + \x1c\x1d\nO\n\x02\x04\x01\x12\x04\x18\0#\x01\x1aC\x20UploadOptions\x20al\ + lows\x20controlling\x20the\x20parameters\x20of\x20a\x20file\x20upload\r\ + \n\n\n\n\x03\x04\x01\x01\x12\x03\x18\x08\x15\n7\n\x04\x04\x01\x02\0\x12\ + \x03\x1a\x04\x19\x1a*\x20specifies\x20the\x20multihash\x20function\x20to\ + \x20use\r\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04\x1a\x04\x18\x17\n\x0c\n\ + \x05\x04\x01\x02\0\x05\x12\x03\x1a\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\ + \x12\x03\x1a\x0b\x14\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x1a\x17\x18\n\ + =\n\x04\x04\x01\x02\x01\x12\x03\x1c\x04\x16\x1a0\x20specifies\x20the\x20\ + dag\x20layout\x20(balanced,\x20tricklet)\r\n\n\r\n\x05\x04\x01\x02\x01\ + \x04\x12\x04\x1c\x04\x1a\x19\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1c\ + \x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1c\x0b\x11\n\x0c\n\x05\ + \x04\x01\x02\x01\x03\x12\x03\x1c\x14\x15\nC\n\x04\x04\x01\x02\x02\x12\ + \x03\x1e\x04\x17\x1a6\x20specifies\x20the\x20chunker\x20type\x20(rabin,\ + \x20default,\x20etc...)\r\n\n\r\n\x05\x04\x01\x02\x02\x04\x12\x04\x1e\ + \x04\x1c\x16\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x1e\x04\n\n\x0c\n\ + \x05\x04\x01\x02\x02\x01\x12\x03\x1e\x0b\x12\n\x0c\n\x05\x04\x01\x02\x02\ + \x03\x12\x03\x1e\x15\x16\ns\n\x04\x04\x01\x02\x03\x12\x03\x20\x04\x15\ + \x1af\x20optional\x20reference\x20ID\x20to\x20tag\x20the\x20file\x20with\ + .\x20If\x20set,\x20the\x20same\x20reference\x20ID\x20must\x20be\x20used\ + \x20for\x20deletion\r\n\n\r\n\x05\x04\x01\x02\x03\x04\x12\x04\x20\x04\ + \x1e\x17\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x20\x04\n\n\x0c\n\x05\ + \x04\x01\x02\x03\x01\x12\x03\x20\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\x03\ + \x12\x03\x20\x13\x14\n:\n\x04\x04\x01\x02\x04\x12\x03\"\x04\x19\x1a-\x20\ + if\x20refID\x20is\x20set,\x20allows\x20progressive\x20upload\r\n\n\r\n\ + \x05\x04\x01\x02\x04\x04\x12\x04\"\x04\x20\x15\n\x0c\n\x05\x04\x01\x02\ + \x04\x05\x12\x03\"\x04\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\"\t\ + \x14\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\"\x17\x18\n\xa9\x01\n\x02\ + \x04\x02\x12\x04(\05\x01\x1a\x9c\x01\x20DownloadRequest\x20is\x20used\ + \x20to\x20download\x20a\x20UnixFS\x20object\r\n\x20although\x20it\x20can\ + \x20in\x20theory\x20be\x20used\x20with\x20other\x20type\x20of\x20objects\ + \r\n\x20there\x20may\x20be\x20some\x20undefined\x20behavior\r\n\n\n\n\ + \x03\x04\x02\x01\x12\x03(\x08\x17\nV\n\x04\x04\x02\x02\0\x12\x03*\x04\ + \x14\x1aI\x20hash\x20is\x20the\x20ipfs\x20hash/cid\x20(content\x20identi\ + fier)\x20of\x20the\x20data\x20to\x20download\r\n\n\r\n\x05\x04\x02\x02\0\ + \x04\x12\x04*\x04(\x19\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03*\x04\n\n\ + \x0c\n\x05\x04\x02\x02\0\x01\x12\x03*\x0b\x0f\n\x0c\n\x05\x04\x02\x02\0\ + \x03\x12\x03*\x12\x13\n\xba\x01\n\x04\x04\x02\x02\x01\x12\x03.\x04\x18\ + \x1a\xac\x01\x20chunkSize\x20specifies\x20the\x20size\x20of\x20chunks\ + \x20to\x20be\x20sent\x20to\x20the\x20client\r\n\x20it\x20allows\x20us\ \x20to\x20efficiently\x20control\x20incoming\x20data\x20amounts\x20which\ - \n\x20is\x20useful\x20on\x20machines\x20with\x20low-memory\n\n\r\n\x05\ - \x04\x02\x02\x01\x04\x12\x04(\x04$\x14\n\x0c\n\x05\x04\x02\x02\x01\x05\ - \x12\x03(\x04\t\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03(\n\x13\n\x0c\n\ - \x05\x04\x02\x02\x01\x03\x12\x03(\x16\x17\n\xa8\x02\n\x04\x04\x02\x02\ - \x02\x12\x03-\x04\x1a\x1a\x9a\x02\x20Range\x20start\x20and\x20end\x20mir\ - rors\x20developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range.\n\x20If\ - \x20both\x20is\x20none\x20zero,\x20only\x20data\x20within\x20range\x20is\ - \x20requested.\n\x20The\x20unit\x20of\x20range\x20is\x20alway\x20in\x20b\ - ytes.\n\x20If\x20used,\x20please\x20check\x20the\x20returned\x20range\ - \x20values\x20in\x20blobs\x20to\x20make\x20sure\x20this\x20feature\x20is\ - \x20supported.\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04-\x04(\x18\n\x0c\n\ - \x05\x04\x02\x02\x02\x05\x12\x03-\x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\ - \x12\x03-\x0b\x15\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03-\x18\x19\n\x0b\ - \n\x04\x04\x02\x02\x03\x12\x03.\x04\x18\n\r\n\x05\x04\x02\x02\x03\x04\ - \x12\x04.\x04-\x1a\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03.\x04\n\n\x0c\ - \n\x05\x04\x02\x02\x03\x01\x12\x03.\x0b\x13\n\x0c\n\x05\x04\x02\x02\x03\ - \x03\x12\x03.\x16\x17\n\x86\x01\n\x02\x04\x03\x12\x043\06\x01\x1az\x20Do\ - wnloadResponse\x20contains\x20the\x20response\x20to\x20a\x20download\x20\ - request\n\x20which\x20allows\x20the\x20gRPC\x20server\x20to\x20stream\ - \x20blobs\x20to\x20the\x20client\n\n\n\n\x03\x04\x03\x01\x12\x033\x08\ - \x18\n-\n\x04\x04\x03\x02\0\x12\x035\x04\x12\x1a\x20\x20blob\x20is\x20a\ - \x20single\x20chunk\x20of\x20data\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x045\ - \x043\x1a\n\x0c\n\x05\x04\x03\x02\0\x06\x12\x035\x04\x08\n\x0c\n\x05\x04\ - \x03\x02\0\x01\x12\x035\t\r\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x035\x10\ - \x11\n,\n\x02\x04\x04\x12\x049\0B\x01\x1a\x20\x20Blob\x20is\x20a\x20chun\ - k\x20of\x20binary\x20data\n\n\n\n\x03\x04\x04\x01\x12\x039\x08\x0c\nJ\n\ - \x04\x04\x04\x02\0\x12\x03;\x04\x16\x1a=\x20content\x20is\x20the\x20actu\ - al\x20binary\x20data\x20contained\x20in\x20this\x20message\n\n\r\n\x05\ - \x04\x04\x02\0\x04\x12\x04;\x049\x0e\n\x0c\n\x05\x04\x04\x02\0\x05\x12\ - \x03;\x04\t\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03;\n\x11\n\x0c\n\x05\x04\ - \x04\x02\0\x03\x12\x03;\x14\x15\n\x92\x02\n\x04\x04\x04\x02\x01\x12\x03@\ - \x04\x1a\x1a\x84\x02\x20Range\x20start\x20and\x20end\x20mirrors\x20devel\ - oper.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range.\n\x20If\x20b\ - oth\x20is\x20zero,\x20the\x20blobs\x20streams\x20contents\x20of\x20the\ - \x20file\x20from\x20start\x20to\x20finish.\n\x20The\x20unit\x20of\x20ran\ - ge\x20is\x20alway\x20in\x20bytes.\n\x20Currently,\x20DownloadResponse\ - \x20support\x20blob\x20range.\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04@\ - \x04;\x16\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03@\x04\n\n\x0c\n\x05\x04\ - \x04\x02\x01\x01\x12\x03@\x0b\x15\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\ - \x03@\x18\x19\n\x0b\n\x04\x04\x04\x02\x02\x12\x03A\x04\x18\n\r\n\x05\x04\ - \x04\x02\x02\x04\x12\x04A\x04@\x1a\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\ - \x03A\x04\n\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03A\x0b\x13\n\x0c\n\x05\ - \x04\x04\x02\x02\x03\x12\x03A\x16\x17b\x06proto3\ + \r\n\x20is\x20useful\x20on\x20machines\x20with\x20low-memory\r\n\n\r\n\ + \x05\x04\x02\x02\x01\x04\x12\x04.\x04*\x14\n\x0c\n\x05\x04\x02\x02\x01\ + \x05\x12\x03.\x04\t\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03.\n\x13\n\x0c\ + \n\x05\x04\x02\x02\x01\x03\x12\x03.\x16\x17\n\xad\x02\n\x04\x04\x02\x02\ + \x02\x12\x033\x04\x1a\x1a\x9f\x02\x20Range\x20start\x20and\x20end\x20mir\ + rors\x20developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range.\r\n\x20\ + If\x20both\x20is\x20none\x20zero,\x20only\x20data\x20within\x20range\x20\ + is\x20requested.\r\n\x20The\x20unit\x20of\x20range\x20is\x20always\x20in\ + \x20bytes.\r\n\x20If\x20used,\x20please\x20check\x20the\x20returned\x20r\ + ange\x20values\x20in\x20blobs\x20to\x20make\x20sure\x20this\x20feature\ + \x20is\x20supported.\r\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x043\x04.\x18\ + \n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x033\x04\n\n\x0c\n\x05\x04\x02\x02\ + \x02\x01\x12\x033\x0b\x15\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x033\x18\ + \x19\n\x0b\n\x04\x04\x02\x02\x03\x12\x034\x04\x18\n\r\n\x05\x04\x02\x02\ + \x03\x04\x12\x044\x043\x1a\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x034\x04\ + \n\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x034\x0b\x13\n\x0c\n\x05\x04\x02\ + \x02\x03\x03\x12\x034\x16\x17\n\x88\x01\n\x02\x04\x03\x12\x049\0<\x01\ + \x1a|\x20DownloadResponse\x20contains\x20the\x20response\x20to\x20a\x20d\ + ownload\x20request\r\n\x20which\x20allows\x20the\x20gRPC\x20server\x20to\ + \x20stream\x20blobs\x20to\x20the\x20client\r\n\n\n\n\x03\x04\x03\x01\x12\ + \x039\x08\x18\n.\n\x04\x04\x03\x02\0\x12\x03;\x04\x12\x1a!\x20blob\x20is\ + \x20a\x20single\x20chunk\x20of\x20data\r\n\n\r\n\x05\x04\x03\x02\0\x04\ + \x12\x04;\x049\x1a\n\x0c\n\x05\x04\x03\x02\0\x06\x12\x03;\x04\x08\n\x0c\ + \n\x05\x04\x03\x02\0\x01\x12\x03;\t\r\n\x0c\n\x05\x04\x03\x02\0\x03\x12\ + \x03;\x10\x11\n-\n\x02\x04\x04\x12\x04?\0H\x01\x1a!\x20Blob\x20is\x20a\ + \x20chunk\x20of\x20binary\x20data\r\n\n\n\n\x03\x04\x04\x01\x12\x03?\x08\ + \x0c\nK\n\x04\x04\x04\x02\0\x12\x03A\x04\x16\x1a>\x20content\x20is\x20th\ + e\x20actual\x20binary\x20data\x20contained\x20in\x20this\x20message\r\n\ + \n\r\n\x05\x04\x04\x02\0\x04\x12\x04A\x04?\x0e\n\x0c\n\x05\x04\x04\x02\0\ + \x05\x12\x03A\x04\t\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03A\n\x11\n\x0c\n\ + \x05\x04\x04\x02\0\x03\x12\x03A\x14\x15\n\x97\x02\n\x04\x04\x04\x02\x01\ + \x12\x03F\x04\x1a\x1a\x89\x02\x20Range\x20start\x20and\x20end\x20mirrors\ + \x20developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range.\r\n\ + \x20If\x20both\x20is\x20zero,\x20the\x20blobs\x20streams\x20contents\x20\ + of\x20the\x20file\x20from\x20start\x20to\x20finish.\r\n\x20The\x20unit\ + \x20of\x20range\x20is\x20always\x20in\x20bytes.\r\n\x20Currently,\x20Dow\ + nloadResponse\x20support\x20blob\x20range.\r\n\n\r\n\x05\x04\x04\x02\x01\ + \x04\x12\x04F\x04A\x16\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03F\x04\n\n\ + \x0c\n\x05\x04\x04\x02\x01\x01\x12\x03F\x0b\x15\n\x0c\n\x05\x04\x04\x02\ + \x01\x03\x12\x03F\x18\x19\n\x0b\n\x04\x04\x04\x02\x02\x12\x03G\x04\x18\n\ + \r\n\x05\x04\x04\x02\x02\x04\x12\x04G\x04F\x1a\n\x0c\n\x05\x04\x04\x02\ + \x02\x05\x12\x03G\x04\n\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03G\x0b\x13\ + \n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03G\x16\x17\nV\n\x02\x04\x05\x12\ + \x04K\0N\x01\x1aJ\x20UploadRequest\x20is\x20used\x20to\x20decrease\x20th\ + e\x20reference\x20count\x20on\x20UnixFS\x20objects\r\n\n\n\n\x03\x04\x05\ + \x01\x12\x03K\x08\x15\nh\n\x04\x04\x05\x02\0\x12\x03M\x04#\x1a[\x20refID\ + s\x20is\x20a\x20map\x20of\x20reference\x20IDs\x20to\x20hash/cid\x20of\ + \x20objects\x20to\x20remove\x20those\x20reference\x20counts\r\n\n\r\n\ + \x05\x04\x05\x02\0\x04\x12\x04M\x04K\x16\n\x0c\n\x05\x04\x05\x02\0\x06\ + \x12\x03M\x04\x17\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03M\x18\x1e\n\x0c\n\ + \x05\x04\x05\x02\0\x03\x12\x03M!\"\nG\n\x02\x04\x06\x12\x04Q\0U\x01\x1a;\ + \x20RemoveResponse\x20contains\x20the\x20response\x20to\x20a\x20remove\ + \x20request\r\n\n\n\n\x03\x04\x06\x01\x12\x03Q\x08\x16\n\x98\x01\n\x04\ + \x04\x06\x02\0\x12\x03T\x04\x15\x1a\x8a\x01\x20The\x20number\x20of\x20re\ + moval\x20operations\x20performed.\r\n\x20A\x20missing\x20count\x20is\x20\ + because\x20the\x20refID\x20to\x20hash\x20pair\x20was\x20already\x20remov\ + ed\x20or\x20was\x20never\x20added\x20\r\n\n\r\n\x05\x04\x06\x02\0\x04\ + \x12\x04T\x04Q\x17\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03T\x04\n\n\x0c\n\ + \x05\x04\x06\x02\0\x01\x12\x03T\x0b\x10\n\x0c\n\x05\x04\x06\x02\0\x03\ + \x12\x03T\x13\x14b\x06proto3\ "; -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/rs/src/file_grpc.rs b/rs/src/file_grpc.rs index 97fb7d9..0d1d0d4 100644 --- a/rs/src/file_grpc.rs +++ b/rs/src/file_grpc.rs @@ -32,6 +32,13 @@ const METHOD_FILE_API_DOWNLOAD_FILE: ::grpcio::Method = ::grpcio::Method { + ty: ::grpcio::MethodType::Unary, + name: "/pb.FileAPI/RemoveFile", + req_mar: ::grpcio::Marshaller { ser: ::grpcio::pb_ser, de: ::grpcio::pb_de }, + resp_mar: ::grpcio::Marshaller { ser: ::grpcio::pb_ser, de: ::grpcio::pb_de }, +}; + #[derive(Clone)] pub struct FileApiClient { client: ::grpcio::Client, @@ -59,7 +66,23 @@ impl FileApiClient { pub fn download_file(&self, req: &super::file::DownloadRequest) -> ::grpcio::Result<::grpcio::ClientSStreamReceiver> { self.download_file_opt(req, ::grpcio::CallOption::default()) } - pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { + + pub fn remove_file_opt(&self, req: &super::file::RemoveRequest, opt: ::grpcio::CallOption) -> ::grpcio::Result { + self.client.unary_call(&METHOD_FILE_API_REMOVE_FILE, req, opt) + } + + pub fn remove_file(&self, req: &super::file::RemoveRequest) -> ::grpcio::Result { + self.remove_file_opt(req, ::grpcio::CallOption::default()) + } + + pub fn remove_file_async_opt(&self, req: &super::file::RemoveRequest, opt: ::grpcio::CallOption) -> ::grpcio::Result<::grpcio::ClientUnaryReceiver> { + self.client.unary_call_async(&METHOD_FILE_API_REMOVE_FILE, req, opt) + } + + pub fn remove_file_async(&self, req: &super::file::RemoveRequest) -> ::grpcio::Result<::grpcio::ClientUnaryReceiver> { + self.remove_file_async_opt(req, ::grpcio::CallOption::default()) + } + pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { self.client.spawn(f) } } @@ -67,6 +90,7 @@ impl FileApiClient { pub trait FileApi { fn upload_file(&mut self, ctx: ::grpcio::RpcContext, stream: ::grpcio::RequestStream, sink: ::grpcio::ClientStreamingSink); fn download_file(&mut self, ctx: ::grpcio::RpcContext, req: super::file::DownloadRequest, sink: ::grpcio::ServerStreamingSink); + fn remove_file(&mut self, ctx: ::grpcio::RpcContext, req: super::file::RemoveRequest, sink: ::grpcio::UnarySink); } pub fn create_file_api(s: S) -> ::grpcio::Service { @@ -75,9 +99,13 @@ pub fn create_file_api(s: S) -> ::grpcio::S builder = builder.add_client_streaming_handler(&METHOD_FILE_API_UPLOAD_FILE, move |ctx, req, resp| { instance.upload_file(ctx, req, resp) }); - let mut instance = s; + let mut instance = s.clone(); builder = builder.add_server_streaming_handler(&METHOD_FILE_API_DOWNLOAD_FILE, move |ctx, req, resp| { instance.download_file(ctx, req, resp) }); + let mut instance = s; + builder = builder.add_unary_handler(&METHOD_FILE_API_REMOVE_FILE, move |ctx, req, resp| { + instance.remove_file(ctx, req, resp) + }); builder.build() } diff --git a/rs/src/namesys.rs b/rs/src/namesys.rs index a768ac8..7ed3a23 100644 --- a/rs/src/namesys.rs +++ b/rs/src/namesys.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `namesys.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct NameSysResolveRequest { @@ -218,7 +215,7 @@ impl ::protobuf::Message for NameSysResolveRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -231,50 +228,40 @@ impl ::protobuf::Message for NameSysResolveRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "name", - |m: &NameSysResolveRequest| { &m.name }, - |m: &mut NameSysResolveRequest| { &mut m.name }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( - "depth", - |m: &NameSysResolveRequest| { &m.depth }, - |m: &mut NameSysResolveRequest| { &mut m.depth }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( - "dhtRecordCount", - |m: &NameSysResolveRequest| { &m.dhtRecordCount }, - |m: &mut NameSysResolveRequest| { &mut m.dhtRecordCount }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "dhtTimeout", - |m: &NameSysResolveRequest| { &m.dhtTimeout }, - |m: &mut NameSysResolveRequest| { &mut m.dhtTimeout }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "NameSysResolveRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "name", + |m: &NameSysResolveRequest| { &m.name }, + |m: &mut NameSysResolveRequest| { &mut m.name }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( + "depth", + |m: &NameSysResolveRequest| { &m.depth }, + |m: &mut NameSysResolveRequest| { &mut m.depth }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( + "dhtRecordCount", + |m: &NameSysResolveRequest| { &m.dhtRecordCount }, + |m: &mut NameSysResolveRequest| { &mut m.dhtRecordCount }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "dhtTimeout", + |m: &NameSysResolveRequest| { &m.dhtTimeout }, + |m: &mut NameSysResolveRequest| { &mut m.dhtTimeout }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "NameSysResolveRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static NameSysResolveRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const NameSysResolveRequest, - }; - unsafe { - instance.get(NameSysResolveRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(NameSysResolveRequest::new) } } @@ -295,8 +282,8 @@ impl ::std::fmt::Debug for NameSysResolveRequest { } impl ::protobuf::reflect::ProtobufValue for NameSysResolveRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -441,7 +428,7 @@ impl ::protobuf::Message for NameSysResolveResult { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -454,40 +441,30 @@ impl ::protobuf::Message for NameSysResolveResult { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "path", - |m: &NameSysResolveResult| { &m.path }, - |m: &mut NameSysResolveResult| { &mut m.path }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "error", - |m: &NameSysResolveResult| { &m.error }, - |m: &mut NameSysResolveResult| { &mut m.error }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "NameSysResolveResult", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "path", + |m: &NameSysResolveResult| { &m.path }, + |m: &mut NameSysResolveResult| { &mut m.path }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "error", + |m: &NameSysResolveResult| { &m.error }, + |m: &mut NameSysResolveResult| { &mut m.error }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "NameSysResolveResult", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static NameSysResolveResult { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const NameSysResolveResult, - }; - unsafe { - instance.get(NameSysResolveResult::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(NameSysResolveResult::new) } } @@ -506,8 +483,8 @@ impl ::std::fmt::Debug for NameSysResolveResult { } impl ::protobuf::reflect::ProtobufValue for NameSysResolveResult { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -710,7 +687,7 @@ impl ::protobuf::Message for NameSysPublishRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -723,50 +700,40 @@ impl ::protobuf::Message for NameSysPublishRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "privateKey", - |m: &NameSysPublishRequest| { &m.privateKey }, - |m: &mut NameSysPublishRequest| { &mut m.privateKey }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "value", - |m: &NameSysPublishRequest| { &m.value }, - |m: &mut NameSysPublishRequest| { &mut m.value }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "eol", - |m: &NameSysPublishRequest| { &m.eol }, - |m: &mut NameSysPublishRequest| { &mut m.eol }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "ttl", - |m: &NameSysPublishRequest| { &m.ttl }, - |m: &mut NameSysPublishRequest| { &mut m.ttl }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "NameSysPublishRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "privateKey", + |m: &NameSysPublishRequest| { &m.privateKey }, + |m: &mut NameSysPublishRequest| { &mut m.privateKey }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "value", + |m: &NameSysPublishRequest| { &m.value }, + |m: &mut NameSysPublishRequest| { &mut m.value }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "eol", + |m: &NameSysPublishRequest| { &m.eol }, + |m: &mut NameSysPublishRequest| { &mut m.eol }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "ttl", + |m: &NameSysPublishRequest| { &m.ttl }, + |m: &mut NameSysPublishRequest| { &mut m.ttl }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "NameSysPublishRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static NameSysPublishRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const NameSysPublishRequest, - }; - unsafe { - instance.get(NameSysPublishRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(NameSysPublishRequest::new) } } @@ -787,8 +754,8 @@ impl ::std::fmt::Debug for NameSysPublishRequest { } impl ::protobuf::reflect::ProtobufValue for NameSysPublishRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -806,92 +773,88 @@ static file_descriptor_proto_data: &'static [u8] = b"\ eRequest\x1a\x18.pb.NameSysResolveResult\"\0\x12N\n\x13NameSysResolveAsy\ nc\x12\x19.pb.NameSysResolveRequest\x1a\x18.pb.NameSysResolveResult\"\00\ \x01\x128\n\x0eNameSysPublish\x12\x19.pb.NameSysPublishRequest\x1a\t.pb.\ - Empty\"\0J\xf6\x0f\n\x06\x12\x04\0\02\x01\n\x08\n\x01\x0c\x12\x03\0\0\ + Empty\"\0J\x8d\x10\n\x06\x12\x04\0\02\x01\n\x08\n\x01\x0c\x12\x03\0\0\ \x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\n\t\n\x02\x03\0\x12\x03\x02\x07\ - \x13\n?\n\x02\x06\0\x12\x04\x05\0\r\x01\x1a3\x20NameSysAPI\x20provides\ - \x20a\x20generic\x20name\x20resolution\x20API\n\n\n\n\x03\x06\0\x01\x12\ - \x03\x05\x08\x12\n\\\n\x04\x06\0\x02\0\x12\x03\x07\x04P\x1aO\x20NameSysR\ - esolve\x20is\x20used\x20to\x20resolve\x20a\x20name,\x20waiting\x20for\ - \x20the\x20request\x20to\x20complete\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\ + \x13\n@\n\x02\x06\0\x12\x04\x05\0\r\x01\x1a4\x20NameSysAPI\x20provides\ + \x20a\x20generic\x20name\x20resolution\x20API\r\n\n\n\n\x03\x06\0\x01\ + \x12\x03\x05\x08\x12\n]\n\x04\x06\0\x02\0\x12\x03\x07\x04P\x1aP\x20NameS\ + ysResolve\x20is\x20used\x20to\x20resolve\x20a\x20name,\x20waiting\x20for\ + \x20the\x20request\x20to\x20complete\r\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\ \x03\x07\x08\x16\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x17,\n\x0c\n\ - \x05\x06\0\x02\0\x03\x12\x03\x077K\n\xa3\x01\n\x04\x06\0\x02\x01\x12\x03\ - \n\x04\\\x1a\x95\x01\x20NameSysResolveAsync\x20is\x20like\x20Resolve,\ - \x20except\x20instead\x20of\x20waiting\x20for\x20the\x20request\n\x20to\ - \x20complete,\x20we\x20send\x20back\x20a\x20stream\x20which\x20we\x20wil\ - l\x20send\x20the\x20result\x20on\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x03\ - \n\x08\x1b\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\n\x1c1\n\x0c\n\x05\x06\ - \0\x02\x01\x06\x12\x03\n\n\x02\x04\x02\x12\ - \x04&\02\x01\x1a2\x20NameSysPublishRequest\x20is\x20used\x20to\x20publis\ - h\x20a\x20value\n\n\n\n\x03\x04\x02\x01\x12\x03&\x08\x1d\n5\n\x04\x04\ - \x02\x02\0\x12\x03(\x04\x19\x1a(\x20the\x20private\x20key\x20(name)\x20f\ - or\x20this\x20record\n\n\r\n\x05\x04\x02\x02\0\x04\x12\x04(\x04&\x1f\n\ - \x0c\n\x05\x04\x02\x02\0\x05\x12\x03(\x04\t\n\x0c\n\x05\x04\x02\x02\0\ - \x01\x12\x03(\n\x14\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03(\x17\x18\n'\n\ - \x04\x04\x02\x02\x01\x12\x03*\x04\x15\x1a\x1a\x20the\x20value\x20of\x20t\ - his\x20record\n\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04*\x04(\x19\n\x0c\n\ - \x05\x04\x02\x02\x01\x05\x12\x03*\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\ - \x12\x03*\x0b\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03*\x13\x14\n\x80\ - \x01\n\x04\x04\x02\x02\x02\x12\x03.\x04\x13\x1as\x20the\x20eol\x20for\ - \x20this\x20publish,\x20if\x200\x20implies\n\x20as\x20NameSys::Publish\ - \x20call,\x20if\x20non\x200\x20implies\n\x20a\x20NameSys:PublishWithEOL\ - \x20call\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04.\x04*\x15\n\x0c\n\x05\ - \x04\x02\x02\x02\x05\x12\x03.\x04\t\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\ - \x03.\x0b\x0e\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03.\x11\x12\nO\n\x04\ - \x04\x02\x02\x03\x12\x031\x04\x13\x1aB\x20if\x20set,\x20allows\x20us\x20\ - to\x20override\x20default\n\x20ttl\x20value\x20of\x20ipns\x20records\n\n\ - \r\n\x05\x04\x02\x02\x03\x04\x12\x041\x04.\x13\n\x0c\n\x05\x04\x02\x02\ - \x03\x05\x12\x031\x04\t\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x031\x0b\x0e\ - \n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x031\x11\x12b\x06proto3\ + \x05\x06\0\x02\0\x03\x12\x03\x077K\n\xa5\x01\n\x04\x06\0\x02\x01\x12\x03\ + \n\x04\\\x1a\x97\x01\x20NameSysResolveAsync\x20is\x20like\x20Resolve,\ + \x20except\x20instead\x20of\x20waiting\x20for\x20the\x20request\r\n\x20t\ + o\x20complete,\x20we\x20send\x20back\x20a\x20stream\x20which\x20we\x20wi\ + ll\x20send\x20the\x20result\x20on\r\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\ + \x03\n\x08\x1b\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\n\x1c1\n\x0c\n\x05\ + \x06\0\x02\x01\x06\x12\x03\n = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/rs/src/namesys_grpc.rs b/rs/src/namesys_grpc.rs index 50aea18..bbe8d4a 100644 --- a/rs/src/namesys_grpc.rs +++ b/rs/src/namesys_grpc.rs @@ -90,7 +90,7 @@ impl NameSysApiClient { pub fn name_sys_publish_async(&self, req: &super::namesys::NameSysPublishRequest) -> ::grpcio::Result<::grpcio::ClientUnaryReceiver> { self.name_sys_publish_async_opt(req, ::grpcio::CallOption::default()) } - pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { + pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { self.client.spawn(f) } } diff --git a/rs/src/node.rs b/rs/src/node.rs index 100f6d8..6ec269b 100644 --- a/rs/src/node.rs +++ b/rs/src/node.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `node.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct P2PRequest { @@ -332,7 +329,7 @@ impl ::protobuf::Message for P2PRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != P2PREQTYPE::CLOSE { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } if self.all != false { os.write_bool(2, self.all)?; @@ -380,7 +377,7 @@ impl ::protobuf::Message for P2PRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -393,75 +390,65 @@ impl ::protobuf::Message for P2PRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &P2PRequest| { &m.requestType }, - |m: &mut P2PRequest| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "all", - |m: &P2PRequest| { &m.all }, - |m: &mut P2PRequest| { &mut m.all }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "verbose", - |m: &P2PRequest| { &m.verbose }, - |m: &mut P2PRequest| { &mut m.verbose }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "protocolName", - |m: &P2PRequest| { &m.protocolName }, - |m: &mut P2PRequest| { &mut m.protocolName }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "listenAddress", - |m: &P2PRequest| { &m.listenAddress }, - |m: &mut P2PRequest| { &mut m.listenAddress }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "targetAddress", - |m: &P2PRequest| { &m.targetAddress }, - |m: &mut P2PRequest| { &mut m.targetAddress }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "remoteAddress", - |m: &P2PRequest| { &m.remoteAddress }, - |m: &mut P2PRequest| { &mut m.remoteAddress }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "allowCustomProtocols", - |m: &P2PRequest| { &m.allowCustomProtocols }, - |m: &mut P2PRequest| { &mut m.allowCustomProtocols }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "reportPeerID", - |m: &P2PRequest| { &m.reportPeerID }, - |m: &mut P2PRequest| { &mut m.reportPeerID }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "P2PRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &P2PRequest| { &m.requestType }, + |m: &mut P2PRequest| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "all", + |m: &P2PRequest| { &m.all }, + |m: &mut P2PRequest| { &mut m.all }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "verbose", + |m: &P2PRequest| { &m.verbose }, + |m: &mut P2PRequest| { &mut m.verbose }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "protocolName", + |m: &P2PRequest| { &m.protocolName }, + |m: &mut P2PRequest| { &mut m.protocolName }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "listenAddress", + |m: &P2PRequest| { &m.listenAddress }, + |m: &mut P2PRequest| { &mut m.listenAddress }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "targetAddress", + |m: &P2PRequest| { &m.targetAddress }, + |m: &mut P2PRequest| { &mut m.targetAddress }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "remoteAddress", + |m: &P2PRequest| { &m.remoteAddress }, + |m: &mut P2PRequest| { &mut m.remoteAddress }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "allowCustomProtocols", + |m: &P2PRequest| { &m.allowCustomProtocols }, + |m: &mut P2PRequest| { &mut m.allowCustomProtocols }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "reportPeerID", + |m: &P2PRequest| { &m.reportPeerID }, + |m: &mut P2PRequest| { &mut m.reportPeerID }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "P2PRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static P2PRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const P2PRequest, - }; - unsafe { - instance.get(P2PRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(P2PRequest::new) } } @@ -487,8 +474,8 @@ impl ::std::fmt::Debug for P2PRequest { } impl ::protobuf::reflect::ProtobufValue for P2PRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -658,7 +645,7 @@ impl ::protobuf::Message for P2PResponse { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != P2PREQTYPE::CLOSE { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } for v in &self.names { os.write_string(2, &v)?; @@ -693,7 +680,7 @@ impl ::protobuf::Message for P2PResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -706,50 +693,40 @@ impl ::protobuf::Message for P2PResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &P2PResponse| { &m.requestType }, - |m: &mut P2PResponse| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "names", - |m: &P2PResponse| { &m.names }, - |m: &mut P2PResponse| { &mut m.names }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "connsClosed", - |m: &P2PResponse| { &m.connsClosed }, - |m: &mut P2PResponse| { &mut m.connsClosed }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "streamInfos", - |m: &P2PResponse| { &m.streamInfos }, - |m: &mut P2PResponse| { &mut m.streamInfos }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "P2PResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &P2PResponse| { &m.requestType }, + |m: &mut P2PResponse| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "names", + |m: &P2PResponse| { &m.names }, + |m: &mut P2PResponse| { &mut m.names }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "connsClosed", + |m: &P2PResponse| { &m.connsClosed }, + |m: &mut P2PResponse| { &mut m.connsClosed }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "streamInfos", + |m: &P2PResponse| { &m.streamInfos }, + |m: &mut P2PResponse| { &mut m.streamInfos }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "P2PResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static P2PResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const P2PResponse, - }; - unsafe { - instance.get(P2PResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(P2PResponse::new) } } @@ -770,8 +747,8 @@ impl ::std::fmt::Debug for P2PResponse { } impl ::protobuf::reflect::ProtobufValue for P2PResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -981,7 +958,7 @@ impl ::protobuf::Message for P2PLsInfo { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -994,50 +971,40 @@ impl ::protobuf::Message for P2PLsInfo { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "protocolName", - |m: &P2PLsInfo| { &m.protocolName }, - |m: &mut P2PLsInfo| { &mut m.protocolName }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "listenAddress", - |m: &P2PLsInfo| { &m.listenAddress }, - |m: &mut P2PLsInfo| { &mut m.listenAddress }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "targetAddress", - |m: &P2PLsInfo| { &m.targetAddress }, - |m: &mut P2PLsInfo| { &mut m.targetAddress }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "local", - |m: &P2PLsInfo| { &m.local }, - |m: &mut P2PLsInfo| { &mut m.local }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "P2PLsInfo", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "protocolName", + |m: &P2PLsInfo| { &m.protocolName }, + |m: &mut P2PLsInfo| { &mut m.protocolName }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "listenAddress", + |m: &P2PLsInfo| { &m.listenAddress }, + |m: &mut P2PLsInfo| { &mut m.listenAddress }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "targetAddress", + |m: &P2PLsInfo| { &m.targetAddress }, + |m: &mut P2PLsInfo| { &mut m.targetAddress }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "local", + |m: &P2PLsInfo| { &m.local }, + |m: &mut P2PLsInfo| { &mut m.local }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "P2PLsInfo", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static P2PLsInfo { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const P2PLsInfo, - }; - unsafe { - instance.get(P2PLsInfo::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(P2PLsInfo::new) } } @@ -1058,8 +1025,8 @@ impl ::std::fmt::Debug for P2PLsInfo { } impl ::protobuf::reflect::ProtobufValue for P2PLsInfo { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1167,7 +1134,7 @@ impl ::protobuf::Message for GetPeersResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1180,35 +1147,25 @@ impl ::protobuf::Message for GetPeersResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "peerIDs", - |m: &GetPeersResponse| { &m.peerIDs }, - |m: &mut GetPeersResponse| { &mut m.peerIDs }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "GetPeersResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "peerIDs", + |m: &GetPeersResponse| { &m.peerIDs }, + |m: &mut GetPeersResponse| { &mut m.peerIDs }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "GetPeersResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static GetPeersResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const GetPeersResponse, - }; - unsafe { - instance.get(GetPeersResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(GetPeersResponse::new) } } @@ -1226,8 +1183,8 @@ impl ::std::fmt::Debug for GetPeersResponse { } impl ::protobuf::reflect::ProtobufValue for GetPeersResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1365,7 +1322,7 @@ impl ::protobuf::Message for ConnMgmtRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != CONNMGMTREQTYPE::CM_CONNECT { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } for v in &self.multiAddrs { os.write_string(2, &v)?; @@ -1395,7 +1352,7 @@ impl ::protobuf::Message for ConnMgmtRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1408,45 +1365,35 @@ impl ::protobuf::Message for ConnMgmtRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &ConnMgmtRequest| { &m.requestType }, - |m: &mut ConnMgmtRequest| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "multiAddrs", - |m: &ConnMgmtRequest| { &m.multiAddrs }, - |m: &mut ConnMgmtRequest| { &mut m.multiAddrs }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "peerIDs", - |m: &ConnMgmtRequest| { &m.peerIDs }, - |m: &mut ConnMgmtRequest| { &mut m.peerIDs }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ConnMgmtRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &ConnMgmtRequest| { &m.requestType }, + |m: &mut ConnMgmtRequest| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "multiAddrs", + |m: &ConnMgmtRequest| { &m.multiAddrs }, + |m: &mut ConnMgmtRequest| { &mut m.multiAddrs }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "peerIDs", + |m: &ConnMgmtRequest| { &m.peerIDs }, + |m: &mut ConnMgmtRequest| { &mut m.peerIDs }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ConnMgmtRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ConnMgmtRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ConnMgmtRequest, - }; - unsafe { - instance.get(ConnMgmtRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ConnMgmtRequest::new) } } @@ -1466,8 +1413,8 @@ impl ::std::fmt::Debug for ConnMgmtRequest { } impl ::protobuf::reflect::ProtobufValue for ConnMgmtRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1633,7 +1580,7 @@ impl ::protobuf::Message for ConnMgmtResponse { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != CONNMGMTREQTYPE::CM_CONNECT { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeBool>(2, &self.connected, os)?; ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>(3, &self.status, os)?; @@ -1662,7 +1609,7 @@ impl ::protobuf::Message for ConnMgmtResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1675,50 +1622,40 @@ impl ::protobuf::Message for ConnMgmtResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &ConnMgmtResponse| { &m.requestType }, - |m: &mut ConnMgmtResponse| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeBool>( - "connected", - |m: &ConnMgmtResponse| { &m.connected }, - |m: &mut ConnMgmtResponse| { &mut m.connected }, - )); - fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>( - "status", - |m: &ConnMgmtResponse| { &m.status }, - |m: &mut ConnMgmtResponse| { &mut m.status }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "peerIDs", - |m: &ConnMgmtResponse| { &m.peerIDs }, - |m: &mut ConnMgmtResponse| { &mut m.peerIDs }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ConnMgmtResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &ConnMgmtResponse| { &m.requestType }, + |m: &mut ConnMgmtResponse| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeBool>( + "connected", + |m: &ConnMgmtResponse| { &m.connected }, + |m: &mut ConnMgmtResponse| { &mut m.connected }, + )); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>( + "status", + |m: &ConnMgmtResponse| { &m.status }, + |m: &mut ConnMgmtResponse| { &mut m.status }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "peerIDs", + |m: &ConnMgmtResponse| { &m.peerIDs }, + |m: &mut ConnMgmtResponse| { &mut m.peerIDs }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ConnMgmtResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ConnMgmtResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ConnMgmtResponse, - }; - unsafe { - instance.get(ConnMgmtResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ConnMgmtResponse::new) } } @@ -1739,8 +1676,8 @@ impl ::std::fmt::Debug for ConnMgmtResponse { } impl ::protobuf::reflect::ProtobufValue for ConnMgmtResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1878,7 +1815,7 @@ impl ::protobuf::Message for ConnMgmtStatus { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1891,40 +1828,30 @@ impl ::protobuf::Message for ConnMgmtStatus { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "disconnected", - |m: &ConnMgmtStatus| { &m.disconnected }, - |m: &mut ConnMgmtStatus| { &mut m.disconnected }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "reason", - |m: &ConnMgmtStatus| { &m.reason }, - |m: &mut ConnMgmtStatus| { &mut m.reason }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ConnMgmtStatus", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "disconnected", + |m: &ConnMgmtStatus| { &m.disconnected }, + |m: &mut ConnMgmtStatus| { &mut m.disconnected }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "reason", + |m: &ConnMgmtStatus| { &m.reason }, + |m: &mut ConnMgmtStatus| { &mut m.reason }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ConnMgmtStatus", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ConnMgmtStatus { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ConnMgmtStatus, - }; - unsafe { - instance.get(ConnMgmtStatus::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ConnMgmtStatus::new) } } @@ -1943,8 +1870,8 @@ impl ::std::fmt::Debug for ConnMgmtStatus { } impl ::protobuf::reflect::ProtobufValue for ConnMgmtStatus { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -2040,10 +1967,10 @@ impl ::protobuf::Message for ExtrasRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != EXTRASREQTYPE::EX_ENABLE { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } if self.extrasFeature != EXTRASTYPE::IDENTIFY { - os.write_enum(2, self.extrasFeature.value())?; + os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.extrasFeature))?; } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) @@ -2067,7 +1994,7 @@ impl ::protobuf::Message for ExtrasRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -2080,40 +2007,30 @@ impl ::protobuf::Message for ExtrasRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &ExtrasRequest| { &m.requestType }, - |m: &mut ExtrasRequest| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "extrasFeature", - |m: &ExtrasRequest| { &m.extrasFeature }, - |m: &mut ExtrasRequest| { &mut m.extrasFeature }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ExtrasRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &ExtrasRequest| { &m.requestType }, + |m: &mut ExtrasRequest| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "extrasFeature", + |m: &ExtrasRequest| { &m.extrasFeature }, + |m: &mut ExtrasRequest| { &mut m.extrasFeature }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ExtrasRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ExtrasRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ExtrasRequest, - }; - unsafe { - instance.get(ExtrasRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ExtrasRequest::new) } } @@ -2132,8 +2049,8 @@ impl ::std::fmt::Debug for ExtrasRequest { } impl ::protobuf::reflect::ProtobufValue for ExtrasRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -2146,6 +2063,8 @@ pub struct BlockstoreRequest { pub data: ::protobuf::RepeatedField<::std::vec::Vec>, pub cidVersion: ::std::string::String, pub hashFunc: ::std::string::String, + pub refID: ::std::string::String, + pub progressive: bool, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -2303,6 +2222,47 @@ impl BlockstoreRequest { pub fn take_hashFunc(&mut self) -> ::std::string::String { ::std::mem::replace(&mut self.hashFunc, ::std::string::String::new()) } + + // string refID = 8; + + + pub fn get_refID(&self) -> &str { + &self.refID + } + pub fn clear_refID(&mut self) { + self.refID.clear(); + } + + // Param is passed by value, moved + pub fn set_refID(&mut self, v: ::std::string::String) { + self.refID = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_refID(&mut self) -> &mut ::std::string::String { + &mut self.refID + } + + // Take field + pub fn take_refID(&mut self) -> ::std::string::String { + ::std::mem::replace(&mut self.refID, ::std::string::String::new()) + } + + // bool progressive = 9; + + + pub fn get_progressive(&self) -> bool { + self.progressive + } + pub fn clear_progressive(&mut self) { + self.progressive = false; + } + + // Param is passed by value, moved + pub fn set_progressive(&mut self, v: bool) { + self.progressive = v; + } } impl ::protobuf::Message for BlockstoreRequest { @@ -2332,6 +2292,16 @@ impl ::protobuf::Message for BlockstoreRequest { 7 => { ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.hashFunc)?; }, + 8 => { + ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.refID)?; + }, + 9 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.progressive = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -2362,6 +2332,12 @@ impl ::protobuf::Message for BlockstoreRequest { if !self.hashFunc.is_empty() { my_size += ::protobuf::rt::string_size(7, &self.hashFunc); } + if !self.refID.is_empty() { + my_size += ::protobuf::rt::string_size(8, &self.refID); + } + if self.progressive != false { + my_size += 2; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -2369,10 +2345,10 @@ impl ::protobuf::Message for BlockstoreRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != BSREQTYPE::BS_DELETE { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } for v in &self.reqOpts { - os.write_enum(2, v.value())?; + os.write_enum(2, ::protobuf::ProtobufEnum::value(v))?; }; for v in &self.cids { os.write_string(3, &v)?; @@ -2386,6 +2362,12 @@ impl ::protobuf::Message for BlockstoreRequest { if !self.hashFunc.is_empty() { os.write_string(7, &self.hashFunc)?; } + if !self.refID.is_empty() { + os.write_string(8, &self.refID)?; + } + if self.progressive != false { + os.write_bool(9, self.progressive)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -2408,7 +2390,7 @@ impl ::protobuf::Message for BlockstoreRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -2421,60 +2403,60 @@ impl ::protobuf::Message for BlockstoreRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &BlockstoreRequest| { &m.requestType }, - |m: &mut BlockstoreRequest| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "reqOpts", - |m: &BlockstoreRequest| { &m.reqOpts }, - |m: &mut BlockstoreRequest| { &mut m.reqOpts }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "cids", - |m: &BlockstoreRequest| { &m.cids }, - |m: &mut BlockstoreRequest| { &mut m.cids }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "data", - |m: &BlockstoreRequest| { &m.data }, - |m: &mut BlockstoreRequest| { &mut m.data }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "cidVersion", - |m: &BlockstoreRequest| { &m.cidVersion }, - |m: &mut BlockstoreRequest| { &mut m.cidVersion }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "hashFunc", - |m: &BlockstoreRequest| { &m.hashFunc }, - |m: &mut BlockstoreRequest| { &mut m.hashFunc }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "BlockstoreRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &BlockstoreRequest| { &m.requestType }, + |m: &mut BlockstoreRequest| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "reqOpts", + |m: &BlockstoreRequest| { &m.reqOpts }, + |m: &mut BlockstoreRequest| { &mut m.reqOpts }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "cids", + |m: &BlockstoreRequest| { &m.cids }, + |m: &mut BlockstoreRequest| { &mut m.cids }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "data", + |m: &BlockstoreRequest| { &m.data }, + |m: &mut BlockstoreRequest| { &mut m.data }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "cidVersion", + |m: &BlockstoreRequest| { &m.cidVersion }, + |m: &mut BlockstoreRequest| { &mut m.cidVersion }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "hashFunc", + |m: &BlockstoreRequest| { &m.hashFunc }, + |m: &mut BlockstoreRequest| { &mut m.hashFunc }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "refID", + |m: &BlockstoreRequest| { &m.refID }, + |m: &mut BlockstoreRequest| { &mut m.refID }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "progressive", + |m: &BlockstoreRequest| { &m.progressive }, + |m: &mut BlockstoreRequest| { &mut m.progressive }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "BlockstoreRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static BlockstoreRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const BlockstoreRequest, - }; - unsafe { - instance.get(BlockstoreRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(BlockstoreRequest::new) } } @@ -2486,6 +2468,8 @@ impl ::protobuf::Clear for BlockstoreRequest { self.data.clear(); self.cidVersion.clear(); self.hashFunc.clear(); + self.refID.clear(); + self.progressive = false; self.unknown_fields.clear(); } } @@ -2497,8 +2481,8 @@ impl ::std::fmt::Debug for BlockstoreRequest { } impl ::protobuf::reflect::ProtobufValue for BlockstoreRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -2610,7 +2594,7 @@ impl ::protobuf::Message for BlockstoreResponse { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != BSREQTYPE::BS_DELETE { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } for v in &self.blocks { os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?; @@ -2639,7 +2623,7 @@ impl ::protobuf::Message for BlockstoreResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -2652,40 +2636,30 @@ impl ::protobuf::Message for BlockstoreResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &BlockstoreResponse| { &m.requestType }, - |m: &mut BlockstoreResponse| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "blocks", - |m: &BlockstoreResponse| { &m.blocks }, - |m: &mut BlockstoreResponse| { &mut m.blocks }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "BlockstoreResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &BlockstoreResponse| { &m.requestType }, + |m: &mut BlockstoreResponse| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "blocks", + |m: &BlockstoreResponse| { &m.blocks }, + |m: &mut BlockstoreResponse| { &mut m.blocks }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "BlockstoreResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static BlockstoreResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const BlockstoreResponse, - }; - unsafe { - instance.get(BlockstoreResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(BlockstoreResponse::new) } } @@ -2704,8 +2678,8 @@ impl ::std::fmt::Debug for BlockstoreResponse { } impl ::protobuf::reflect::ProtobufValue for BlockstoreResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -2879,7 +2853,7 @@ impl ::protobuf::Message for Block { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -2892,45 +2866,35 @@ impl ::protobuf::Message for Block { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "cid", - |m: &Block| { &m.cid }, - |m: &mut Block| { &mut m.cid }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "data", - |m: &Block| { &m.data }, - |m: &mut Block| { &mut m.data }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "size", - |m: &Block| { &m.size }, - |m: &mut Block| { &mut m.size }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "Block", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "cid", + |m: &Block| { &m.cid }, + |m: &mut Block| { &mut m.cid }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "data", + |m: &Block| { &m.data }, + |m: &mut Block| { &mut m.data }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "size", + |m: &Block| { &m.size }, + |m: &mut Block| { &mut m.size }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "Block", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static Block { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const Block, - }; - unsafe { - instance.get(Block::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(Block::new) } } @@ -2950,8 +2914,8 @@ impl ::std::fmt::Debug for Block { } impl ::protobuf::reflect::ProtobufValue for Block { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -2966,6 +2930,8 @@ pub struct DagRequest { pub cidVersion: i64, pub hash: ::std::string::String, pub links: ::std::collections::HashMap<::std::string::String, ::std::string::String>, + pub refID: ::std::string::String, + pub progressive: bool, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -3166,6 +3132,47 @@ impl DagRequest { pub fn take_links(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> { ::std::mem::replace(&mut self.links, ::std::collections::HashMap::new()) } + + // string refID = 9; + + + pub fn get_refID(&self) -> &str { + &self.refID + } + pub fn clear_refID(&mut self) { + self.refID.clear(); + } + + // Param is passed by value, moved + pub fn set_refID(&mut self, v: ::std::string::String) { + self.refID = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_refID(&mut self) -> &mut ::std::string::String { + &mut self.refID + } + + // Take field + pub fn take_refID(&mut self) -> ::std::string::String { + ::std::mem::replace(&mut self.refID, ::std::string::String::new()) + } + + // bool progressive = 10; + + + pub fn get_progressive(&self) -> bool { + self.progressive + } + pub fn clear_progressive(&mut self) { + self.progressive = false; + } + + // Param is passed by value, moved + pub fn set_progressive(&mut self, v: bool) { + self.progressive = v; + } } impl ::protobuf::Message for DagRequest { @@ -3205,6 +3212,16 @@ impl ::protobuf::Message for DagRequest { 8 => { ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.links)?; }, + 9 => { + ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.refID)?; + }, + 10 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.progressive = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -3239,6 +3256,12 @@ impl ::protobuf::Message for DagRequest { my_size += ::protobuf::rt::string_size(7, &self.hash); } my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(8, &self.links); + if !self.refID.is_empty() { + my_size += ::protobuf::rt::string_size(9, &self.refID); + } + if self.progressive != false { + my_size += 2; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -3246,7 +3269,7 @@ impl ::protobuf::Message for DagRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != DAGREQTYPE::DAG_PUT { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } if !self.data.is_empty() { os.write_bytes(2, &self.data)?; @@ -3267,6 +3290,12 @@ impl ::protobuf::Message for DagRequest { os.write_string(7, &self.hash)?; } ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(8, &self.links, os)?; + if !self.refID.is_empty() { + os.write_string(9, &self.refID)?; + } + if self.progressive != false { + os.write_bool(10, self.progressive)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -3289,7 +3318,7 @@ impl ::protobuf::Message for DagRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -3302,70 +3331,70 @@ impl ::protobuf::Message for DagRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &DagRequest| { &m.requestType }, - |m: &mut DagRequest| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "data", - |m: &DagRequest| { &m.data }, - |m: &mut DagRequest| { &mut m.data }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "objectEncoding", - |m: &DagRequest| { &m.objectEncoding }, - |m: &mut DagRequest| { &mut m.objectEncoding }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "serializationFormat", - |m: &DagRequest| { &m.serializationFormat }, - |m: &mut DagRequest| { &mut m.serializationFormat }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "hashFunc", - |m: &DagRequest| { &m.hashFunc }, - |m: &mut DagRequest| { &mut m.hashFunc }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "cidVersion", - |m: &DagRequest| { &m.cidVersion }, - |m: &mut DagRequest| { &mut m.cidVersion }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "hash", - |m: &DagRequest| { &m.hash }, - |m: &mut DagRequest| { &mut m.hash }, - )); - fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>( - "links", - |m: &DagRequest| { &m.links }, - |m: &mut DagRequest| { &mut m.links }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "DagRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &DagRequest| { &m.requestType }, + |m: &mut DagRequest| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "data", + |m: &DagRequest| { &m.data }, + |m: &mut DagRequest| { &mut m.data }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "objectEncoding", + |m: &DagRequest| { &m.objectEncoding }, + |m: &mut DagRequest| { &mut m.objectEncoding }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "serializationFormat", + |m: &DagRequest| { &m.serializationFormat }, + |m: &mut DagRequest| { &mut m.serializationFormat }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "hashFunc", + |m: &DagRequest| { &m.hashFunc }, + |m: &mut DagRequest| { &mut m.hashFunc }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "cidVersion", + |m: &DagRequest| { &m.cidVersion }, + |m: &mut DagRequest| { &mut m.cidVersion }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "hash", + |m: &DagRequest| { &m.hash }, + |m: &mut DagRequest| { &mut m.hash }, + )); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>( + "links", + |m: &DagRequest| { &m.links }, + |m: &mut DagRequest| { &mut m.links }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "refID", + |m: &DagRequest| { &m.refID }, + |m: &mut DagRequest| { &mut m.refID }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "progressive", + |m: &DagRequest| { &m.progressive }, + |m: &mut DagRequest| { &mut m.progressive }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "DagRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static DagRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const DagRequest, - }; - unsafe { - instance.get(DagRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(DagRequest::new) } } @@ -3379,6 +3408,8 @@ impl ::protobuf::Clear for DagRequest { self.cidVersion = 0; self.hash.clear(); self.links.clear(); + self.refID.clear(); + self.progressive = false; self.unknown_fields.clear(); } } @@ -3390,8 +3421,8 @@ impl ::std::fmt::Debug for DagRequest { } impl ::protobuf::reflect::ProtobufValue for DagRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -3403,6 +3434,7 @@ pub struct DagResponse { pub rawData: ::std::vec::Vec, pub links: ::protobuf::RepeatedField, pub nodeStats: ::std::collections::HashMap<::std::string::String, IPLDStat>, + pub count: u64, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -3534,6 +3566,21 @@ impl DagResponse { pub fn take_nodeStats(&mut self) -> ::std::collections::HashMap<::std::string::String, IPLDStat> { ::std::mem::replace(&mut self.nodeStats, ::std::collections::HashMap::new()) } + + // uint64 count = 6; + + + pub fn get_count(&self) -> u64 { + self.count + } + pub fn clear_count(&mut self) { + self.count = 0; + } + + // Param is passed by value, moved + pub fn set_count(&mut self, v: u64) { + self.count = v; + } } impl ::protobuf::Message for DagResponse { @@ -3565,6 +3612,13 @@ impl ::protobuf::Message for DagResponse { 5 => { ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>(wire_type, is, &mut self.nodeStats)?; }, + 6 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint64()?; + self.count = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -3591,6 +3645,9 @@ impl ::protobuf::Message for DagResponse { my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; }; my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>(5, &self.nodeStats); + if self.count != 0 { + my_size += ::protobuf::rt::value_size(6, self.count, ::protobuf::wire_format::WireTypeVarint); + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -3598,7 +3655,7 @@ impl ::protobuf::Message for DagResponse { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != DAGREQTYPE::DAG_PUT { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } for v in &self.hashes { os.write_string(2, &v)?; @@ -3612,6 +3669,9 @@ impl ::protobuf::Message for DagResponse { v.write_to_with_cached_sizes(os)?; }; ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>(5, &self.nodeStats, os)?; + if self.count != 0 { + os.write_uint64(6, self.count)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -3634,7 +3694,7 @@ impl ::protobuf::Message for DagResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -3647,55 +3707,50 @@ impl ::protobuf::Message for DagResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &DagResponse| { &m.requestType }, - |m: &mut DagResponse| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "hashes", - |m: &DagResponse| { &m.hashes }, - |m: &mut DagResponse| { &mut m.hashes }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "rawData", - |m: &DagResponse| { &m.rawData }, - |m: &mut DagResponse| { &mut m.rawData }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "links", - |m: &DagResponse| { &m.links }, - |m: &mut DagResponse| { &mut m.links }, - )); - fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>( - "nodeStats", - |m: &DagResponse| { &m.nodeStats }, - |m: &mut DagResponse| { &mut m.nodeStats }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "DagResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &DagResponse| { &m.requestType }, + |m: &mut DagResponse| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "hashes", + |m: &DagResponse| { &m.hashes }, + |m: &mut DagResponse| { &mut m.hashes }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "rawData", + |m: &DagResponse| { &m.rawData }, + |m: &mut DagResponse| { &mut m.rawData }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "links", + |m: &DagResponse| { &m.links }, + |m: &mut DagResponse| { &mut m.links }, + )); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage>( + "nodeStats", + |m: &DagResponse| { &m.nodeStats }, + |m: &mut DagResponse| { &mut m.nodeStats }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "count", + |m: &DagResponse| { &m.count }, + |m: &mut DagResponse| { &mut m.count }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "DagResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static DagResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const DagResponse, - }; - unsafe { - instance.get(DagResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(DagResponse::new) } } @@ -3706,6 +3761,7 @@ impl ::protobuf::Clear for DagResponse { self.rawData.clear(); self.links.clear(); self.nodeStats.clear(); + self.count = 0; self.unknown_fields.clear(); } } @@ -3717,8 +3773,8 @@ impl ::std::fmt::Debug for DagResponse { } impl ::protobuf::reflect::ProtobufValue for DagResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -3936,7 +3992,7 @@ impl ::protobuf::Message for IPLDStat { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -3949,55 +4005,45 @@ impl ::protobuf::Message for IPLDStat { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "numLinks", - |m: &IPLDStat| { &m.numLinks }, - |m: &mut IPLDStat| { &mut m.numLinks }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "blockSize", - |m: &IPLDStat| { &m.blockSize }, - |m: &mut IPLDStat| { &mut m.blockSize }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "linkSize", - |m: &IPLDStat| { &m.linkSize }, - |m: &mut IPLDStat| { &mut m.linkSize }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "cumulativeSize", - |m: &IPLDStat| { &m.cumulativeSize }, - |m: &mut IPLDStat| { &mut m.cumulativeSize }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "dataSize", - |m: &IPLDStat| { &m.dataSize }, - |m: &mut IPLDStat| { &mut m.dataSize }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "IPLDStat", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "numLinks", + |m: &IPLDStat| { &m.numLinks }, + |m: &mut IPLDStat| { &mut m.numLinks }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "blockSize", + |m: &IPLDStat| { &m.blockSize }, + |m: &mut IPLDStat| { &mut m.blockSize }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "linkSize", + |m: &IPLDStat| { &m.linkSize }, + |m: &mut IPLDStat| { &mut m.linkSize }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "cumulativeSize", + |m: &IPLDStat| { &m.cumulativeSize }, + |m: &mut IPLDStat| { &mut m.cumulativeSize }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "dataSize", + |m: &IPLDStat| { &m.dataSize }, + |m: &mut IPLDStat| { &mut m.dataSize }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "IPLDStat", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static IPLDStat { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const IPLDStat, - }; - unsafe { - instance.get(IPLDStat::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(IPLDStat::new) } } @@ -4019,8 +4065,8 @@ impl ::std::fmt::Debug for IPLDStat { } impl ::protobuf::reflect::ProtobufValue for IPLDStat { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -4194,7 +4240,7 @@ impl ::protobuf::Message for IPLDLink { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -4207,45 +4253,35 @@ impl ::protobuf::Message for IPLDLink { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "hash", - |m: &IPLDLink| { &m.hash }, - |m: &mut IPLDLink| { &mut m.hash }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "name", - |m: &IPLDLink| { &m.name }, - |m: &mut IPLDLink| { &mut m.name }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "size", - |m: &IPLDLink| { &m.size }, - |m: &mut IPLDLink| { &mut m.size }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "IPLDLink", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "hash", + |m: &IPLDLink| { &m.hash }, + |m: &mut IPLDLink| { &mut m.hash }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "name", + |m: &IPLDLink| { &m.name }, + |m: &mut IPLDLink| { &mut m.name }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "size", + |m: &IPLDLink| { &m.size }, + |m: &mut IPLDLink| { &mut m.size }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "IPLDLink", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static IPLDLink { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const IPLDLink, - }; - unsafe { - instance.get(IPLDLink::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(IPLDLink::new) } } @@ -4265,8 +4301,8 @@ impl ::std::fmt::Debug for IPLDLink { } impl ::protobuf::reflect::ProtobufValue for IPLDLink { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -4418,7 +4454,7 @@ impl ::protobuf::Message for IPLDNode { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -4431,40 +4467,30 @@ impl ::protobuf::Message for IPLDNode { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "links", - |m: &IPLDNode| { &m.links }, - |m: &mut IPLDNode| { &mut m.links }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "data", - |m: &IPLDNode| { &m.data }, - |m: &mut IPLDNode| { &mut m.data }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "IPLDNode", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "links", + |m: &IPLDNode| { &m.links }, + |m: &mut IPLDNode| { &mut m.links }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "data", + |m: &IPLDNode| { &m.data }, + |m: &mut IPLDNode| { &mut m.data }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "IPLDNode", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static IPLDNode { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const IPLDNode, - }; - unsafe { - instance.get(IPLDNode::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(IPLDNode::new) } } @@ -4483,8 +4509,8 @@ impl ::std::fmt::Debug for IPLDNode { } impl ::protobuf::reflect::ProtobufValue for IPLDNode { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -4624,7 +4650,7 @@ impl ::protobuf::Message for KeystoreRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != KSREQTYPE::KS_HAS { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } if !self.name.is_empty() { os.write_string(2, &self.name)?; @@ -4654,7 +4680,7 @@ impl ::protobuf::Message for KeystoreRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -4667,45 +4693,35 @@ impl ::protobuf::Message for KeystoreRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &KeystoreRequest| { &m.requestType }, - |m: &mut KeystoreRequest| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "name", - |m: &KeystoreRequest| { &m.name }, - |m: &mut KeystoreRequest| { &mut m.name }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "privateKey", - |m: &KeystoreRequest| { &m.privateKey }, - |m: &mut KeystoreRequest| { &mut m.privateKey }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "KeystoreRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &KeystoreRequest| { &m.requestType }, + |m: &mut KeystoreRequest| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "name", + |m: &KeystoreRequest| { &m.name }, + |m: &mut KeystoreRequest| { &mut m.name }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "privateKey", + |m: &KeystoreRequest| { &m.privateKey }, + |m: &mut KeystoreRequest| { &mut m.privateKey }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "KeystoreRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static KeystoreRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const KeystoreRequest, - }; - unsafe { - instance.get(KeystoreRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(KeystoreRequest::new) } } @@ -4725,8 +4741,8 @@ impl ::std::fmt::Debug for KeystoreRequest { } impl ::protobuf::reflect::ProtobufValue for KeystoreRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -4891,7 +4907,7 @@ impl ::protobuf::Message for KeystoreResponse { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != KSREQTYPE::KS_HAS { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } if !self.privateKey.is_empty() { os.write_bytes(2, &self.privateKey)?; @@ -4924,7 +4940,7 @@ impl ::protobuf::Message for KeystoreResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -4937,50 +4953,40 @@ impl ::protobuf::Message for KeystoreResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &KeystoreResponse| { &m.requestType }, - |m: &mut KeystoreResponse| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "privateKey", - |m: &KeystoreResponse| { &m.privateKey }, - |m: &mut KeystoreResponse| { &mut m.privateKey }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "keyNames", - |m: &KeystoreResponse| { &m.keyNames }, - |m: &mut KeystoreResponse| { &mut m.keyNames }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "has", - |m: &KeystoreResponse| { &m.has }, - |m: &mut KeystoreResponse| { &mut m.has }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "KeystoreResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &KeystoreResponse| { &m.requestType }, + |m: &mut KeystoreResponse| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "privateKey", + |m: &KeystoreResponse| { &m.privateKey }, + |m: &mut KeystoreResponse| { &mut m.privateKey }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "keyNames", + |m: &KeystoreResponse| { &m.keyNames }, + |m: &mut KeystoreResponse| { &mut m.keyNames }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "has", + |m: &KeystoreResponse| { &m.has }, + |m: &mut KeystoreResponse| { &mut m.has }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "KeystoreResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static KeystoreResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const KeystoreResponse, - }; - unsafe { - instance.get(KeystoreResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(KeystoreResponse::new) } } @@ -5001,8 +5007,8 @@ impl ::std::fmt::Debug for KeystoreResponse { } impl ::protobuf::reflect::ProtobufValue for KeystoreResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -5010,6 +5016,8 @@ impl ::protobuf::reflect::ProtobufValue for KeystoreResponse { pub struct PersistRequest { // message fields pub cids: ::protobuf::RepeatedField<::std::string::String>, + pub refID: ::std::string::String, + pub progressive: bool, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -5050,6 +5058,47 @@ impl PersistRequest { pub fn take_cids(&mut self) -> ::protobuf::RepeatedField<::std::string::String> { ::std::mem::replace(&mut self.cids, ::protobuf::RepeatedField::new()) } + + // string refID = 2; + + + pub fn get_refID(&self) -> &str { + &self.refID + } + pub fn clear_refID(&mut self) { + self.refID.clear(); + } + + // Param is passed by value, moved + pub fn set_refID(&mut self, v: ::std::string::String) { + self.refID = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_refID(&mut self) -> &mut ::std::string::String { + &mut self.refID + } + + // Take field + pub fn take_refID(&mut self) -> ::std::string::String { + ::std::mem::replace(&mut self.refID, ::std::string::String::new()) + } + + // bool progressive = 5; + + + pub fn get_progressive(&self) -> bool { + self.progressive + } + pub fn clear_progressive(&mut self) { + self.progressive = false; + } + + // Param is passed by value, moved + pub fn set_progressive(&mut self, v: bool) { + self.progressive = v; + } } impl ::protobuf::Message for PersistRequest { @@ -5064,6 +5113,16 @@ impl ::protobuf::Message for PersistRequest { 1 => { ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.cids)?; }, + 2 => { + ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.refID)?; + }, + 5 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.progressive = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -5079,6 +5138,12 @@ impl ::protobuf::Message for PersistRequest { for value in &self.cids { my_size += ::protobuf::rt::string_size(1, &value); }; + if !self.refID.is_empty() { + my_size += ::protobuf::rt::string_size(2, &self.refID); + } + if self.progressive != false { + my_size += 2; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -5088,6 +5153,12 @@ impl ::protobuf::Message for PersistRequest { for v in &self.cids { os.write_string(1, &v)?; }; + if !self.refID.is_empty() { + os.write_string(2, &self.refID)?; + } + if self.progressive != false { + os.write_bool(5, self.progressive)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -5110,7 +5181,7 @@ impl ::protobuf::Message for PersistRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -5123,41 +5194,43 @@ impl ::protobuf::Message for PersistRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "cids", - |m: &PersistRequest| { &m.cids }, - |m: &mut PersistRequest| { &mut m.cids }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "PersistRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "cids", + |m: &PersistRequest| { &m.cids }, + |m: &mut PersistRequest| { &mut m.cids }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "refID", + |m: &PersistRequest| { &m.refID }, + |m: &mut PersistRequest| { &mut m.refID }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "progressive", + |m: &PersistRequest| { &m.progressive }, + |m: &mut PersistRequest| { &mut m.progressive }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "PersistRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static PersistRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const PersistRequest, - }; - unsafe { - instance.get(PersistRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(PersistRequest::new) } } impl ::protobuf::Clear for PersistRequest { fn clear(&mut self) { self.cids.clear(); + self.refID.clear(); + self.progressive = false; self.unknown_fields.clear(); } } @@ -5169,8 +5242,8 @@ impl ::std::fmt::Debug for PersistRequest { } impl ::protobuf::reflect::ProtobufValue for PersistRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -5305,7 +5378,7 @@ impl ::protobuf::Message for PersistResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -5318,40 +5391,30 @@ impl ::protobuf::Message for PersistResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeBool>( - "status", - |m: &PersistResponse| { &m.status }, - |m: &mut PersistResponse| { &mut m.status }, - )); - fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>( - "errors", - |m: &PersistResponse| { &m.errors }, - |m: &mut PersistResponse| { &mut m.errors }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "PersistResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeBool>( + "status", + |m: &PersistResponse| { &m.status }, + |m: &mut PersistResponse| { &mut m.status }, + )); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>( + "errors", + |m: &PersistResponse| { &m.errors }, + |m: &mut PersistResponse| { &mut m.errors }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "PersistResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static PersistResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const PersistResponse, - }; - unsafe { - instance.get(PersistResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(PersistResponse::new) } } @@ -5370,8 +5433,8 @@ impl ::std::fmt::Debug for PersistResponse { } impl ::protobuf::reflect::ProtobufValue for PersistResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -5409,15 +5472,10 @@ impl ::protobuf::ProtobufEnum for P2PREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("P2PREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("P2PREQTYPE", file_descriptor_proto()) + }) } } @@ -5431,8 +5489,8 @@ impl ::std::default::Default for P2PREQTYPE { } impl ::protobuf::reflect::ProtobufValue for P2PREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5470,15 +5528,10 @@ impl ::protobuf::ProtobufEnum for CONNMGMTREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("CONNMGMTREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("CONNMGMTREQTYPE", file_descriptor_proto()) + }) } } @@ -5492,8 +5545,8 @@ impl ::std::default::Default for CONNMGMTREQTYPE { } impl ::protobuf::reflect::ProtobufValue for CONNMGMTREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5525,15 +5578,10 @@ impl ::protobuf::ProtobufEnum for EXTRASREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("EXTRASREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("EXTRASREQTYPE", file_descriptor_proto()) + }) } } @@ -5547,8 +5595,8 @@ impl ::std::default::Default for EXTRASREQTYPE { } impl ::protobuf::reflect::ProtobufValue for EXTRASREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5586,15 +5634,10 @@ impl ::protobuf::ProtobufEnum for EXTRASTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("EXTRASTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("EXTRASTYPE", file_descriptor_proto()) + }) } } @@ -5608,8 +5651,8 @@ impl ::std::default::Default for EXTRASTYPE { } impl ::protobuf::reflect::ProtobufValue for EXTRASTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5665,15 +5708,10 @@ impl ::protobuf::ProtobufEnum for BSREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("BSREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("BSREQTYPE", file_descriptor_proto()) + }) } } @@ -5687,8 +5725,8 @@ impl ::std::default::Default for BSREQTYPE { } impl ::protobuf::reflect::ProtobufValue for BSREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5720,15 +5758,10 @@ impl ::protobuf::ProtobufEnum for BSREQOPTS { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("BSREQOPTS", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("BSREQOPTS", file_descriptor_proto()) + }) } } @@ -5742,8 +5775,8 @@ impl ::std::default::Default for BSREQOPTS { } impl ::protobuf::reflect::ProtobufValue for BSREQOPTS { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5755,6 +5788,7 @@ pub enum DAGREQTYPE { DAG_ADD_LINKS = 3, DAG_GET_LINKS = 4, DAG_STAT = 5, + DAG_REMOVE = 6, } impl ::protobuf::ProtobufEnum for DAGREQTYPE { @@ -5770,6 +5804,7 @@ impl ::protobuf::ProtobufEnum for DAGREQTYPE { 3 => ::std::option::Option::Some(DAGREQTYPE::DAG_ADD_LINKS), 4 => ::std::option::Option::Some(DAGREQTYPE::DAG_GET_LINKS), 5 => ::std::option::Option::Some(DAGREQTYPE::DAG_STAT), + 6 => ::std::option::Option::Some(DAGREQTYPE::DAG_REMOVE), _ => ::std::option::Option::None } } @@ -5782,20 +5817,16 @@ impl ::protobuf::ProtobufEnum for DAGREQTYPE { DAGREQTYPE::DAG_ADD_LINKS, DAGREQTYPE::DAG_GET_LINKS, DAGREQTYPE::DAG_STAT, + DAGREQTYPE::DAG_REMOVE, ]; values } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("DAGREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("DAGREQTYPE", file_descriptor_proto()) + }) } } @@ -5809,8 +5840,8 @@ impl ::std::default::Default for DAGREQTYPE { } impl ::protobuf::reflect::ProtobufValue for DAGREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5851,15 +5882,10 @@ impl ::protobuf::ProtobufEnum for KSREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("KSREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("KSREQTYPE", file_descriptor_proto()) + }) } } @@ -5873,8 +5899,8 @@ impl ::std::default::Default for KSREQTYPE { } impl ::protobuf::reflect::ProtobufValue for KSREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -5912,678 +5938,728 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x12\x16\n\x06reason\x18\x02\x20\x01(\tR\x06reason\"z\n\rExtrasRequest\ \x123\n\x0brequestType\x18\x01\x20\x01(\x0e2\x11.pb.EXTRASREQTYPER\x0bre\ questType\x124\n\rextrasFeature\x18\x02\x20\x01(\x0e2\x0e.pb.EXTRASTYPER\ - \rextrasFeature\"\xd1\x01\n\x11BlockstoreRequest\x12/\n\x0brequestType\ + \rextrasFeature\"\x89\x02\n\x11BlockstoreRequest\x12/\n\x0brequestType\ \x18\x01\x20\x01(\x0e2\r.pb.BSREQTYPER\x0brequestType\x12'\n\x07reqOpts\ \x18\x02\x20\x03(\x0e2\r.pb.BSREQOPTSR\x07reqOpts\x12\x12\n\x04cids\x18\ \x03\x20\x03(\tR\x04cids\x12\x12\n\x04data\x18\x04\x20\x03(\x0cR\x04data\ \x12\x1e\n\ncidVersion\x18\x05\x20\x01(\tR\ncidVersion\x12\x1a\n\x08hash\ - Func\x18\x07\x20\x01(\tR\x08hashFunc\"h\n\x12BlockstoreResponse\x12/\n\ - \x0brequestType\x18\x01\x20\x01(\x0e2\r.pb.BSREQTYPER\x0brequestType\x12\ - !\n\x06blocks\x18\x02\x20\x03(\x0b2\t.pb.BlockR\x06blocks\"A\n\x05Block\ - \x12\x10\n\x03cid\x18\x01\x20\x01(\tR\x03cid\x12\x12\n\x04data\x18\x02\ - \x20\x01(\x0cR\x04data\x12\x12\n\x04size\x18\x03\x20\x01(\x03R\x04size\"\ - \xe7\x02\n\nDagRequest\x120\n\x0brequestType\x18\x01\x20\x01(\x0e2\x0e.p\ - b.DAGREQTYPER\x0brequestType\x12\x12\n\x04data\x18\x02\x20\x01(\x0cR\x04\ - data\x12&\n\x0eobjectEncoding\x18\x03\x20\x01(\tR\x0eobjectEncoding\x120\ - \n\x13serializationFormat\x18\x04\x20\x01(\tR\x13serializationFormat\x12\ - \x1a\n\x08hashFunc\x18\x05\x20\x01(\tR\x08hashFunc\x12\x1e\n\ncidVersion\ - \x18\x06\x20\x01(\x03R\ncidVersion\x12\x12\n\x04hash\x18\x07\x20\x01(\tR\ - \x04hash\x12/\n\x05links\x18\x08\x20\x03(\x0b2\x19.pb.DagRequest.LinksEn\ - tryR\x05links\x1a8\n\nLinksEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\ - \x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\"\x9f\ + Func\x18\x07\x20\x01(\tR\x08hashFunc\x12\x14\n\x05refID\x18\x08\x20\x01(\ + \tR\x05refID\x12\x20\n\x0bprogressive\x18\t\x20\x01(\x08R\x0bprogressive\ + \"h\n\x12BlockstoreResponse\x12/\n\x0brequestType\x18\x01\x20\x01(\x0e2\ + \r.pb.BSREQTYPER\x0brequestType\x12!\n\x06blocks\x18\x02\x20\x03(\x0b2\t\ + .pb.BlockR\x06blocks\"A\n\x05Block\x12\x10\n\x03cid\x18\x01\x20\x01(\tR\ + \x03cid\x12\x12\n\x04data\x18\x02\x20\x01(\x0cR\x04data\x12\x12\n\x04siz\ + e\x18\x03\x20\x01(\x03R\x04size\"\x9f\x03\n\nDagRequest\x120\n\x0breques\ + tType\x18\x01\x20\x01(\x0e2\x0e.pb.DAGREQTYPER\x0brequestType\x12\x12\n\ + \x04data\x18\x02\x20\x01(\x0cR\x04data\x12&\n\x0eobjectEncoding\x18\x03\ + \x20\x01(\tR\x0eobjectEncoding\x120\n\x13serializationFormat\x18\x04\x20\ + \x01(\tR\x13serializationFormat\x12\x1a\n\x08hashFunc\x18\x05\x20\x01(\t\ + R\x08hashFunc\x12\x1e\n\ncidVersion\x18\x06\x20\x01(\x03R\ncidVersion\ + \x12\x12\n\x04hash\x18\x07\x20\x01(\tR\x04hash\x12/\n\x05links\x18\x08\ + \x20\x03(\x0b2\x19.pb.DagRequest.LinksEntryR\x05links\x12\x14\n\x05refID\ + \x18\t\x20\x01(\tR\x05refID\x12\x20\n\x0bprogressive\x18\n\x20\x01(\x08R\ + \x0bprogressive\x1a8\n\nLinksEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\ + \x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\"\xb5\ \x02\n\x0bDagResponse\x120\n\x0brequestType\x18\x01\x20\x01(\x0e2\x0e.pb\ .DAGREQTYPER\x0brequestType\x12\x16\n\x06hashes\x18\x02\x20\x03(\tR\x06h\ ashes\x12\x18\n\x07rawData\x18\x03\x20\x01(\x0cR\x07rawData\x12\"\n\x05l\ inks\x18\x04\x20\x03(\x0b2\x0c.pb.IPLDLinkR\x05links\x12<\n\tnodeStats\ - \x18\x05\x20\x03(\x0b2\x1e.pb.DagResponse.NodeStatsEntryR\tnodeStats\x1a\ - J\n\x0eNodeStatsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\"\ - \n\x05value\x18\x02\x20\x01(\x0b2\x0c.pb.IPLDStatR\x05value:\x028\x01\"\ - \xa4\x01\n\x08IPLDStat\x12\x1a\n\x08numLinks\x18\x01\x20\x01(\x03R\x08nu\ - mLinks\x12\x1c\n\tblockSize\x18\x02\x20\x01(\x03R\tblockSize\x12\x1a\n\ - \x08linkSize\x18\x03\x20\x01(\x03R\x08linkSize\x12&\n\x0ecumulativeSize\ - \x18\x04\x20\x01(\x03R\x0ecumulativeSize\x12\x1a\n\x08dataSize\x18\x05\ - \x20\x01(\x03R\x08dataSize\"F\n\x08IPLDLink\x12\x12\n\x04hash\x18\x01\ - \x20\x01(\x0cR\x04hash\x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x12\ - \x12\n\x04size\x18\x03\x20\x01(\x04R\x04size\"B\n\x08IPLDNode\x12\"\n\ - \x05links\x18\x02\x20\x03(\x0b2\x0c.pb.IPLDLinkR\x05links\x12\x12\n\x04d\ - ata\x18\x01\x20\x01(\x0cR\x04data\"v\n\x0fKeystoreRequest\x12/\n\x0brequ\ - estType\x18\x01\x20\x01(\x0e2\r.pb.KSREQTYPER\x0brequestType\x12\x12\n\ - \x04name\x18\x02\x20\x01(\tR\x04name\x12\x1e\n\nprivateKey\x18\x03\x20\ - \x01(\x0cR\nprivateKey\"\x91\x01\n\x10KeystoreResponse\x12/\n\x0brequest\ - Type\x18\x01\x20\x01(\x0e2\r.pb.KSREQTYPER\x0brequestType\x12\x1e\n\npri\ - vateKey\x18\x02\x20\x01(\x0cR\nprivateKey\x12\x1a\n\x08keyNames\x18\x03\ - \x20\x03(\tR\x08keyNames\x12\x10\n\x03has\x18\x04\x20\x01(\x08R\x03has\"\ - $\n\x0ePersistRequest\x12\x12\n\x04cids\x18\x01\x20\x03(\tR\x04cids\"\ - \xf9\x01\n\x0fPersistResponse\x127\n\x06status\x18\x01\x20\x03(\x0b2\x1f\ - .pb.PersistResponse.StatusEntryR\x06status\x127\n\x06errors\x18\x02\x20\ - \x03(\x0b2\x1f.pb.PersistResponse.ErrorsEntryR\x06errors\x1a9\n\x0bStatu\ + \x18\x05\x20\x03(\x0b2\x1e.pb.DagResponse.NodeStatsEntryR\tnodeStats\x12\ + \x14\n\x05count\x18\x06\x20\x01(\x04R\x05count\x1aJ\n\x0eNodeStatsEntry\ + \x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\"\n\x05value\x18\x02\ + \x20\x01(\x0b2\x0c.pb.IPLDStatR\x05value:\x028\x01\"\xa4\x01\n\x08IPLDSt\ + at\x12\x1a\n\x08numLinks\x18\x01\x20\x01(\x03R\x08numLinks\x12\x1c\n\tbl\ + ockSize\x18\x02\x20\x01(\x03R\tblockSize\x12\x1a\n\x08linkSize\x18\x03\ + \x20\x01(\x03R\x08linkSize\x12&\n\x0ecumulativeSize\x18\x04\x20\x01(\x03\ + R\x0ecumulativeSize\x12\x1a\n\x08dataSize\x18\x05\x20\x01(\x03R\x08dataS\ + ize\"F\n\x08IPLDLink\x12\x12\n\x04hash\x18\x01\x20\x01(\x0cR\x04hash\x12\ + \x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x12\x12\n\x04size\x18\x03\x20\ + \x01(\x04R\x04size\"B\n\x08IPLDNode\x12\"\n\x05links\x18\x02\x20\x03(\ + \x0b2\x0c.pb.IPLDLinkR\x05links\x12\x12\n\x04data\x18\x01\x20\x01(\x0cR\ + \x04data\"v\n\x0fKeystoreRequest\x12/\n\x0brequestType\x18\x01\x20\x01(\ + \x0e2\r.pb.KSREQTYPER\x0brequestType\x12\x12\n\x04name\x18\x02\x20\x01(\ + \tR\x04name\x12\x1e\n\nprivateKey\x18\x03\x20\x01(\x0cR\nprivateKey\"\ + \x91\x01\n\x10KeystoreResponse\x12/\n\x0brequestType\x18\x01\x20\x01(\ + \x0e2\r.pb.KSREQTYPER\x0brequestType\x12\x1e\n\nprivateKey\x18\x02\x20\ + \x01(\x0cR\nprivateKey\x12\x1a\n\x08keyNames\x18\x03\x20\x03(\tR\x08keyN\ + ames\x12\x10\n\x03has\x18\x04\x20\x01(\x08R\x03has\"\\\n\x0ePersistReque\ + st\x12\x12\n\x04cids\x18\x01\x20\x03(\tR\x04cids\x12\x14\n\x05refID\x18\ + \x02\x20\x01(\tR\x05refID\x12\x20\n\x0bprogressive\x18\x05\x20\x01(\x08R\ + \x0bprogressive\"\xf9\x01\n\x0fPersistResponse\x127\n\x06status\x18\x01\ + \x20\x03(\x0b2\x1f.pb.PersistResponse.StatusEntryR\x06status\x127\n\x06e\ + rrors\x18\x02\x20\x03(\x0b2\x1f.pb.PersistResponse.ErrorsEntryR\x06error\ + s\x1a9\n\x0bStatusEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\ + \x14\n\x05value\x18\x02\x20\x01(\x08R\x05value:\x028\x01\x1a9\n\x0bError\ sEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\ - \x18\x02\x20\x01(\x08R\x05value:\x028\x01\x1a9\n\x0bErrorsEntry\x12\x10\ - \n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\ - \tR\x05value:\x028\x01*8\n\nP2PREQTYPE\x12\t\n\x05CLOSE\x10\0\x12\x0b\n\ - \x07FORWARD\x10\x01\x12\n\n\x06LISTEN\x10\x02\x12\x06\n\x02LS\x10\x03*U\ - \n\x0fCONNMGMTREQTYPE\x12\x0e\n\nCM_CONNECT\x10\0\x12\x11\n\rCM_DISCONNE\ - CT\x10\x01\x12\r\n\tCM_STATUS\x10\x02\x12\x10\n\x0cCM_GET_PEERS\x10\x03*\ - .\n\rEXTRASREQTYPE\x12\r\n\tEX_ENABLE\x10\0\x12\x0e\n\nEX_DISABLE\x10\ - \x01*?\n\nEXTRASTYPE\x12\x0c\n\x08IDENTIFY\x10\0\x12\n\n\x06PUBSUB\x10\ - \x01\x12\r\n\tDISCOVERY\x10\x02\x12\x08\n\x04MDNS\x10\x03*\xbb\x01\n\tBS\ - REQTYPE\x12\r\n\tBS_DELETE\x10\0\x12\n\n\x06BS_PUT\x10\x01\x12\x0f\n\x0b\ - BS_PUT_MANY\x10\x02\x12\n\n\x06BS_GET\x10\x03\x12\x0f\n\x0bBS_GET_MANY\ - \x10\x04\x12\x0e\n\nBS_GET_ALL\x10\x05\x12\x10\n\x0cBS_GET_STATS\x10\x06\ - \x12\n\n\x06BS_HAS\x10\x07\x12\x1a\n\x16BS_HASH_ON_READ_ENABLE\x10\x08\ - \x12\x1b\n\x17BS_HASH_ON_READ_DISABLE\x10\t*&\n\tBSREQOPTS\x12\x0b\n\x07\ - DEFAULT\x10\0\x12\x0c\n\x08BS_FORCE\x10\x01*l\n\nDAGREQTYPE\x12\x0b\n\ - \x07DAG_PUT\x10\0\x12\x0b\n\x07DAG_GET\x10\x01\x12\x10\n\x0cDAG_NEW_NODE\ - \x10\x02\x12\x11\n\rDAG_ADD_LINKS\x10\x03\x12\x11\n\rDAG_GET_LINKS\x10\ - \x04\x12\x0c\n\x08DAG_STAT\x10\x05*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\x10\ - \0\x12\n\n\x06KS_GET\x10\x01\x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_DELET\ - E\x10\x03\x12\x0b\n\x07KS_LIST\x10\x042\xb7\x03\n\x07NodeAPI\x127\n\x08C\ - onnMgmt\x12\x13.pb.ConnMgmtRequest\x1a\x14.pb.ConnMgmtResponse\"\0\x12(\ - \n\x06Extras\x12\x11.pb.ExtrasRequest\x1a\t.pb.Empty\"\0\x12(\n\x03P2P\ - \x12\x0e.pb.P2PRequest\x1a\x0f.pb.P2PResponse\"\0\x12=\n\nBlockstore\x12\ - \x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\0\x12G\n\x10Bl\ - ockstoreStream\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreRespons\ - e\"\0(\x010\x01\x12(\n\x03Dag\x12\x0e.pb.DagRequest\x1a\x0f.pb.DagRespon\ - se\"\0\x127\n\x08Keystore\x12\x13.pb.KeystoreRequest\x1a\x14.pb.Keystore\ - Response\"\0\x124\n\x07Persist\x12\x12.pb.PersistRequest\x1a\x13.pb.Pers\ - istResponse\"\0J\x9b\x83\x01\n\x07\x12\x05\0\0\x82\x03\x01\n\x08\n\x01\ - \x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\n\t\n\x02\x03\0\ - \x12\x03\x02\x07\x13\nO\n\x02\x06\0\x12\x04\x05\0\x19\x01\x1aC\x20NodeAP\ - I\x20provide\x20an\x20API\x20to\x20control\x20the\x20underlying\x20custo\ - m\x20ipfs\x20node\n\n\n\n\x03\x06\0\x01\x12\x03\x05\x08\x0f\n@\n\x04\x06\ - \0\x02\0\x12\x03\x07\x04@\x1a3\x20ConnMgmt\x20provides\x20control\x20ove\ - r\x20libp2p\x20connections\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x07\x08\ - \x10\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x11\x20\n\x0c\n\x05\x06\0\ - \x02\0\x03\x12\x03\x07+;\nC\n\x04\x06\0\x02\x01\x12\x03\t\x041\x1a6\x20E\ - xtras\x20provide\x20control\x20over\x20node\x20extras\x20capabilities\n\ - \n\x0c\n\x05\x06\0\x02\x01\x01\x12\x03\t\x08\x0e\n\x0c\n\x05\x06\0\x02\ - \x01\x02\x12\x03\t\x0f\x1c\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t',\n\ - \xdf\x01\n\x04\x06\0\x02\x02\x12\x03\r\x041\x1a\xd1\x01\x20P2P\x20allows\ - \x20control\x20of\x20generalized\x20p2p\x20streams\x20for\x20tcp/udp\x20\ - based\x20protocol.\n\x20By\x20using\x20this\x20RPC,\x20we\x20can\x20tunn\ - el\x20traffic\x20similar\x20to\x20ssh\x20tunneling\n\x20except\x20using\ - \x20libp2p\x20as\x20the\x20transport\x20layer,\x20and\x20and\x20tcp/udp\ - \x20port.\n\n\x0c\n\x05\x06\0\x02\x02\x01\x12\x03\r\x08\x0b\n\x0c\n\x05\ - \x06\0\x02\x02\x02\x12\x03\r\x0c\x16\n\x0c\n\x05\x06\0\x02\x02\x03\x12\ - \x03\r!,\nR\n\x04\x06\0\x02\x03\x12\x03\x0f\x04F\x1aE\x20Blockstore\x20a\ - llows\x20low-level\x20management\x20of\x20the\x20underlying\x20blockstor\ - e\n\n\x0c\n\x05\x06\0\x02\x03\x01\x12\x03\x0f\x08\x12\n\x0c\n\x05\x06\0\ - \x02\x03\x02\x12\x03\x0f\x13$\n\x0c\n\x05\x06\0\x02\x03\x03\x12\x03\x0f/\ - A\n\x87\x01\n\x04\x06\0\x02\x04\x12\x03\x12\x04Z\x1az\x20BlockstoreStrea\ - m\x20is\x20akin\x20to\x20Blockstore,\x20except\x20streamable\n\x20Once\ - \x20v4\x20is\x20out,\x20condense\x20this\x20+\x20blockstore\x20into\x20a\ - \x20single\x20call\n\n\x0c\n\x05\x06\0\x02\x04\x01\x12\x03\x12\x08\x18\n\ - \x0c\n\x05\x06\0\x02\x04\x05\x12\x03\x12\x19\x1f\n\x0c\n\x05\x06\0\x02\ - \x04\x02\x12\x03\x12\x201\n\x0c\n\x05\x06\0\x02\x04\x06\x12\x03\x12\x01\x1aR\x20P2PRequest\x20is\x20a\x20request\x20m\ - essage\x20holding\x20the\x20details\x20of\x20a\x20particular\x20P2P\x20r\ - pc\x20call\n\n\n\n\x03\x04\0\x01\x12\x03(\x08\x12\n)\n\x04\x04\0\x02\0\ - \x12\x03*\x04\x1f\x1a\x1c\x20indicates\x20the\x20request\x20type\n\n\r\n\ - \x05\x04\0\x02\0\x04\x12\x04*\x04(\x14\n\x0c\n\x05\x04\0\x02\0\x06\x12\ + \x18\x02\x20\x01(\tR\x05value:\x028\x01*8\n\nP2PREQTYPE\x12\t\n\x05CLOSE\ + \x10\0\x12\x0b\n\x07FORWARD\x10\x01\x12\n\n\x06LISTEN\x10\x02\x12\x06\n\ + \x02LS\x10\x03*U\n\x0fCONNMGMTREQTYPE\x12\x0e\n\nCM_CONNECT\x10\0\x12\ + \x11\n\rCM_DISCONNECT\x10\x01\x12\r\n\tCM_STATUS\x10\x02\x12\x10\n\x0cCM\ + _GET_PEERS\x10\x03*.\n\rEXTRASREQTYPE\x12\r\n\tEX_ENABLE\x10\0\x12\x0e\n\ + \nEX_DISABLE\x10\x01*?\n\nEXTRASTYPE\x12\x0c\n\x08IDENTIFY\x10\0\x12\n\n\ + \x06PUBSUB\x10\x01\x12\r\n\tDISCOVERY\x10\x02\x12\x08\n\x04MDNS\x10\x03*\ + \xbb\x01\n\tBSREQTYPE\x12\r\n\tBS_DELETE\x10\0\x12\n\n\x06BS_PUT\x10\x01\ + \x12\x0f\n\x0bBS_PUT_MANY\x10\x02\x12\n\n\x06BS_GET\x10\x03\x12\x0f\n\ + \x0bBS_GET_MANY\x10\x04\x12\x0e\n\nBS_GET_ALL\x10\x05\x12\x10\n\x0cBS_GE\ + T_STATS\x10\x06\x12\n\n\x06BS_HAS\x10\x07\x12\x1a\n\x16BS_HASH_ON_READ_E\ + NABLE\x10\x08\x12\x1b\n\x17BS_HASH_ON_READ_DISABLE\x10\t*&\n\tBSREQOPTS\ + \x12\x0b\n\x07DEFAULT\x10\0\x12\x0c\n\x08BS_FORCE\x10\x01*|\n\nDAGREQTYP\ + E\x12\x0b\n\x07DAG_PUT\x10\0\x12\x0b\n\x07DAG_GET\x10\x01\x12\x10\n\x0cD\ + AG_NEW_NODE\x10\x02\x12\x11\n\rDAG_ADD_LINKS\x10\x03\x12\x11\n\rDAG_GET_\ + LINKS\x10\x04\x12\x0c\n\x08DAG_STAT\x10\x05\x12\x0e\n\nDAG_REMOVE\x10\ + \x06*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\x10\0\x12\n\n\x06KS_GET\x10\x01\ + \x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_DELETE\x10\x03\x12\x0b\n\x07KS_LI\ + ST\x10\x042\xb7\x03\n\x07NodeAPI\x127\n\x08ConnMgmt\x12\x13.pb.ConnMgmtR\ + equest\x1a\x14.pb.ConnMgmtResponse\"\0\x12(\n\x06Extras\x12\x11.pb.Extra\ + sRequest\x1a\t.pb.Empty\"\0\x12(\n\x03P2P\x12\x0e.pb.P2PRequest\x1a\x0f.\ + pb.P2PResponse\"\0\x12=\n\nBlockstore\x12\x15.pb.BlockstoreRequest\x1a\ + \x16.pb.BlockstoreResponse\"\0\x12G\n\x10BlockstoreStream\x12\x15.pb.Blo\ + ckstoreRequest\x1a\x16.pb.BlockstoreResponse\"\0(\x010\x01\x12(\n\x03Dag\ + \x12\x0e.pb.DagRequest\x1a\x0f.pb.DagResponse\"\0\x127\n\x08Keystore\x12\ + \x13.pb.KeystoreRequest\x1a\x14.pb.KeystoreResponse\"\0\x124\n\x07Persis\ + t\x12\x12.pb.PersistRequest\x1a\x13.pb.PersistResponse\"\0J\xc2\x8e\x01\ + \n\x07\x12\x05\0\0\x97\x03\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\ + \x01\x02\x12\x03\x01\x08\n\n\t\n\x02\x03\0\x12\x03\x02\x07\x13\nP\n\x02\ + \x06\0\x12\x04\x05\0\x19\x01\x1aD\x20NodeAPI\x20provide\x20an\x20API\x20\ + to\x20control\x20the\x20underlying\x20custom\x20ipfs\x20node\r\n\n\n\n\ + \x03\x06\0\x01\x12\x03\x05\x08\x0f\nA\n\x04\x06\0\x02\0\x12\x03\x07\x04@\ + \x1a4\x20ConnMgmt\x20provides\x20control\x20over\x20libp2p\x20connection\ + s\r\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x07\x08\x10\n\x0c\n\x05\x06\0\ + \x02\0\x02\x12\x03\x07\x11\x20\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03\x07+;\ + \nD\n\x04\x06\0\x02\x01\x12\x03\t\x041\x1a7\x20Extras\x20provide\x20cont\ + rol\x20over\x20node\x20extras\x20capabilities\r\n\n\x0c\n\x05\x06\0\x02\ + \x01\x01\x12\x03\t\x08\x0e\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\t\x0f\ + \x1c\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t',\n\xe2\x01\n\x04\x06\0\x02\ + \x02\x12\x03\r\x041\x1a\xd4\x01\x20P2P\x20allows\x20control\x20of\x20gen\ + eralized\x20p2p\x20streams\x20for\x20tcp/udp\x20based\x20protocol.\r\n\ + \x20By\x20using\x20this\x20RPC,\x20we\x20can\x20tunnel\x20traffic\x20sim\ + ilar\x20to\x20ssh\x20tunneling\r\n\x20except\x20using\x20libp2p\x20as\ + \x20the\x20transport\x20layer,\x20and\x20and\x20tcp/udp\x20port.\r\n\n\ + \x0c\n\x05\x06\0\x02\x02\x01\x12\x03\r\x08\x0b\n\x0c\n\x05\x06\0\x02\x02\ + \x02\x12\x03\r\x0c\x16\n\x0c\n\x05\x06\0\x02\x02\x03\x12\x03\r!,\nS\n\ + \x04\x06\0\x02\x03\x12\x03\x0f\x04F\x1aF\x20Blockstore\x20allows\x20low-\ + level\x20management\x20of\x20the\x20underlying\x20blockstore\r\n\n\x0c\n\ + \x05\x06\0\x02\x03\x01\x12\x03\x0f\x08\x12\n\x0c\n\x05\x06\0\x02\x03\x02\ + \x12\x03\x0f\x13$\n\x0c\n\x05\x06\0\x02\x03\x03\x12\x03\x0f/A\n\x89\x01\ + \n\x04\x06\0\x02\x04\x12\x03\x12\x04Z\x1a|\x20BlockstoreStream\x20is\x20\ + akin\x20to\x20Blockstore,\x20except\x20streamable\r\n\x20Once\x20v4\x20i\ + s\x20out,\x20condense\x20this\x20+\x20blockstore\x20into\x20a\x20single\ + \x20call\r\n\n\x0c\n\x05\x06\0\x02\x04\x01\x12\x03\x12\x08\x18\n\x0c\n\ + \x05\x06\0\x02\x04\x05\x12\x03\x12\x19\x1f\n\x0c\n\x05\x06\0\x02\x04\x02\ + \x12\x03\x12\x201\n\x0c\n\x05\x06\0\x02\x04\x06\x12\x03\x12\x01\x1aS\x20P2PRequest\x20is\x20a\x20request\x20messa\ + ge\x20holding\x20the\x20details\x20of\x20a\x20particular\x20P2P\x20rpc\ + \x20call\r\n\n\n\n\x03\x04\0\x01\x12\x03(\x08\x12\n*\n\x04\x04\0\x02\0\ + \x12\x03*\x04\x1f\x1a\x1d\x20indicates\x20the\x20request\x20type\r\n\n\r\ + \n\x05\x04\0\x02\0\x04\x12\x04*\x04(\x14\n\x0c\n\x05\x04\0\x02\0\x06\x12\ \x03*\x04\x0e\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03*\x0f\x1a\n\x0c\n\x05\ - \x04\0\x02\0\x03\x12\x03*\x1d\x1e\n(\n\x04\x04\0\x02\x01\x12\x03,\x04\ - \x11\x1a\x1b\x20used\x20by:\x20P2PREQTYPE.CLOSE\n\n\r\n\x05\x04\0\x02\ + \x04\0\x02\0\x03\x12\x03*\x1d\x1e\n)\n\x04\x04\0\x02\x01\x12\x03,\x04\ + \x11\x1a\x1c\x20used\x20by:\x20P2PREQTYPE.CLOSE\r\n\n\r\n\x05\x04\0\x02\ \x01\x04\x12\x04,\x04*\x1f\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03,\x04\ \x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03,\t\x0c\n\x0c\n\x05\x04\0\x02\ - \x01\x03\x12\x03,\x0f\x10\n%\n\x04\x04\0\x02\x02\x12\x03.\x04\x15\x1a\ - \x18\x20used\x20by:\x20P2PREQTYPE.LS\n\n\r\n\x05\x04\0\x02\x02\x04\x12\ + \x01\x03\x12\x03,\x0f\x10\n&\n\x04\x04\0\x02\x02\x12\x03.\x04\x15\x1a\ + \x19\x20used\x20by:\x20P2PREQTYPE.LS\r\n\n\r\n\x05\x04\0\x02\x02\x04\x12\ \x04.\x04,\x11\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03.\x04\x08\n\x0c\n\ \x05\x04\0\x02\x02\x01\x12\x03.\t\x10\n\x0c\n\x05\x04\0\x02\x02\x03\x12\ - \x03.\x13\x14\nO\n\x04\x04\0\x02\x03\x12\x030\x04\x1c\x1aB\x20used\x20by\ - :\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD,\x20P2PREQTYPE.LISTEN\n\n\r\ - \n\x05\x04\0\x02\x03\x04\x12\x040\x04.\x15\n\x0c\n\x05\x04\0\x02\x03\x05\ - \x12\x030\x04\n\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x030\x0b\x17\n\x0c\n\ - \x05\x04\0\x02\x03\x03\x12\x030\x1a\x1b\n^\n\x04\x04\0\x02\x04\x12\x033\ - \x04\x1d\x1aQ\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD\ - \n\x20must\x20be\x20specified\x20as\x20a\x20multiaddr\n\n\r\n\x05\x04\0\ - \x02\x04\x04\x12\x043\x040\x1c\n\x0c\n\x05\x04\0\x02\x04\x05\x12\x033\ - \x04\n\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x033\x0b\x18\n\x0c\n\x05\x04\0\ - \x02\x04\x03\x12\x033\x1b\x1c\n^\n\x04\x04\0\x02\x05\x12\x036\x04\x1d\ - \x1aQ\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD\n\x20mus\ - t\x20be\x20specified\x20as\x20a\x20multiaddr\n\n\r\n\x05\x04\0\x02\x05\ - \x04\x12\x046\x043\x1d\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x036\x04\n\n\ - \x0c\n\x05\x04\0\x02\x05\x01\x12\x036\x0b\x18\n\x0c\n\x05\x04\0\x02\x05\ - \x03\x12\x036\x1b\x1c\nK\n\x04\x04\0\x02\x06\x12\x039\x04\x1d\x1a>\x20us\ - ed\x20by:\x20P2PREQTYPE.LISTEN\n\x20must\x20be\x20specified\x20as\x20a\ - \x20multiaddr\n\n\r\n\x05\x04\0\x02\x06\x04\x12\x049\x046\x1d\n\x0c\n\ - \x05\x04\0\x02\x06\x05\x12\x039\x04\n\n\x0c\n\x05\x04\0\x02\x06\x01\x12\ - \x039\x0b\x18\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x039\x1b\x1c\n=\n\x04\ - \x04\0\x02\x07\x12\x03;\x04\"\x1a0\x20used\x20by:\x20P2PREQTYPE.LISTEN,\ - \x20P2PREQTYPE.FORWARD\n\n\r\n\x05\x04\0\x02\x07\x04\x12\x04;\x049\x1d\n\ - \x0c\n\x05\x04\0\x02\x07\x05\x12\x03;\x04\x08\n\x0c\n\x05\x04\0\x02\x07\ - \x01\x12\x03;\t\x1d\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03;\x20!\n)\n\x04\ - \x04\0\x02\x08\x12\x03=\x04\x1a\x1a\x1c\x20used\x20by:\x20P2PREQTYPE.LIS\ - TEN\n\n\r\n\x05\x04\0\x02\x08\x04\x12\x04=\x04;\"\n\x0c\n\x05\x04\0\x02\ - \x08\x05\x12\x03=\x04\x08\n\x0c\n\x05\x04\0\x02\x08\x01\x12\x03=\t\x15\n\ - \x0c\n\x05\x04\0\x02\x08\x03\x12\x03=\x18\x19\nX\n\x02\x04\x01\x12\x04A\ - \0I\x01\x1aL\x20P2PResponse\x20is\x20a\x20response\x20message\x20sent\ - \x20in\x20response\x20to\x20a\x20P2PRequest\x20message\n\n\n\n\x03\x04\ - \x01\x01\x12\x03A\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\x03B\x04\x1f\n\r\ - \n\x05\x04\x01\x02\0\x04\x12\x04B\x04A\x15\n\x0c\n\x05\x04\x01\x02\0\x06\ - \x12\x03B\x04\x0e\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03B\x0f\x1a\n\x0c\n\ - \x05\x04\x01\x02\0\x03\x12\x03B\x1d\x1e\n)\n\x04\x04\x01\x02\x01\x12\x03\ - D\x04\x1e\x1a\x1c\x20sent\x20by:\x20P2PREQTYPE.LISTEN\n\n\x0c\n\x05\x04\ - \x01\x02\x01\x04\x12\x03D\x04\x0c\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\ - \x03D\r\x13\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03D\x14\x19\n\x0c\n\x05\ - \x04\x01\x02\x01\x03\x12\x03D\x1c\x1d\nU\n\x04\x04\x01\x02\x02\x12\x03F\ - \x04\x1a\x1aH\x20sent\x20by:\x20P2PREQTYPE.CLOSE\x20to\x20indicate\x20th\ - e\x20number\x20of\x20connections\x20closed\n\n\r\n\x05\x04\x01\x02\x02\ - \x04\x12\x04F\x04D\x1e\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03F\x04\t\n\ - \x0c\n\x05\x04\x01\x02\x02\x01\x12\x03F\n\x15\n\x0c\n\x05\x04\x01\x02\ - \x02\x03\x12\x03F\x18\x19\nO\n\x04\x04\x01\x02\x03\x12\x03H\x04'\x1aB\ - \x20sent\x20by:\x20P2PREQTYPE.LS\x20and\x20contains\x20all\x20known\x20s\ - tream\x20information\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03H\x04\x0c\ - \n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03H\r\x16\n\x0c\n\x05\x04\x01\x02\ - \x03\x01\x12\x03H\x17\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03H%&\nF\n\ - \x02\x04\x02\x12\x04L\0R\x01\x1a:\x20P2PLsInfo\x20contains\x20informatio\ - n\x20about\x20a\x20single\x20p2p\x20stream\n\n\n\n\x03\x04\x02\x01\x12\ - \x03L\x08\x11\n\x0b\n\x04\x04\x02\x02\0\x12\x03M\x04\x1c\n\r\n\x05\x04\ - \x02\x02\0\x04\x12\x04M\x04L\x13\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03M\ - \x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03M\x0b\x17\n\x0c\n\x05\x04\ - \x02\x02\0\x03\x12\x03M\x1a\x1b\n\x0b\n\x04\x04\x02\x02\x01\x12\x03N\x04\ - \x1d\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04N\x04M\x1c\n\x0c\n\x05\x04\x02\ - \x02\x01\x05\x12\x03N\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03N\x0b\ - \x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03N\x1b\x1c\n\x0b\n\x04\x04\ - \x02\x02\x02\x12\x03O\x04\x1d\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04O\x04\ - N\x1d\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03O\x04\n\n\x0c\n\x05\x04\x02\ - \x02\x02\x01\x12\x03O\x0b\x18\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03O\ - \x1b\x1c\nP\n\x04\x04\x02\x02\x03\x12\x03Q\x04\x13\x1aC\x20indicates\x20\ - whether\x20or\x20not\x20this\x20is\x20a\x20p2p\x20listener\x20or\x20loca\ - l\x20listener\n\n\r\n\x05\x04\x02\x02\x03\x04\x12\x04Q\x04O\x1d\n\x0c\n\ - \x05\x04\x02\x02\x03\x05\x12\x03Q\x04\x08\n\x0c\n\x05\x04\x02\x02\x03\ - \x01\x12\x03Q\t\x0e\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03Q\x11\x12\nW\ - \n\x02\x04\x03\x12\x04U\0X\x01\x1aK\x20GetPeersResponse\x20is\x20a\x20re\ - sponse\x20to\x20GetPeers\x20containing\x20a\x20slice\x20of\x20peer\x20ID\ - s\n\n\n\n\x03\x04\x03\x01\x12\x03U\x08\x18\n\"\n\x04\x04\x03\x02\0\x12\ - \x03W\x04\x20\x1a\x15\x20a\x20slice\x20of\x20peer\x20IDs\n\n\x0c\n\x05\ - \x04\x03\x02\0\x04\x12\x03W\x04\x0c\n\x0c\n\x05\x04\x03\x02\0\x05\x12\ - \x03W\r\x13\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03W\x14\x1b\n\x0c\n\x05\ - \x04\x03\x02\0\x03\x12\x03W\x1e\x1f\nW\n\x02\x05\x01\x12\x04[\0e\x01\x1a\ - K\x20CONNMGMTREQTYPE\x20indicates\x20the\x20particular\x20ConnMgmt\x20re\ - quest\x20being\x20performed\n\n\n\n\x03\x05\x01\x01\x12\x03[\x05\x14\n=\ - \n\x04\x05\x01\x02\0\x12\x03]\x04\x13\x1a0\x20CM_CONNECT\x20is\x20used\ - \x20to\x20connect\x20to\x20a\x20libp2p\x20peer\n\n\x0c\n\x05\x05\x01\x02\ - \0\x01\x12\x03]\x04\x0e\n\x0c\n\x05\x05\x01\x02\0\x02\x12\x03]\x11\x12\n\ - E\n\x04\x05\x01\x02\x01\x12\x03_\x04\x16\x1a8\x20CM_DISCONNECT\x20is\x20\ - used\x20to\x20disconnect\x20from\x20a\x20libp2p\x20peer\n\n\x0c\n\x05\ - \x05\x01\x02\x01\x01\x12\x03_\x04\x11\n\x0c\n\x05\x05\x01\x02\x01\x02\ - \x12\x03_\x14\x15\n\x9f\x01\n\x04\x05\x01\x02\x02\x12\x03b\x04\x12\x1a\ - \x91\x01\x20CM_STATUS\x20is\x20used\x20to\x20return\x20status\x20informa\ - tion\x20about\x20libp2p\x20peer\x20connections\n\x20useful\x20for\x20det\ - ermining\x20whether\x20or\x20not\x20we\x20are\x20connected\x20to\x20some\ - one\n\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03b\x04\r\n\x0c\n\x05\x05\x01\ - \x02\x02\x02\x12\x03b\x10\x11\n<\n\x04\x05\x01\x02\x03\x12\x03d\x04\x15\ - \x1a/CM_GET_PEERS\x20is\x20used\x20to\x20return\x20all\x20known\x20peers\ - \n\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03d\x04\x10\n\x0c\n\x05\x05\x01\ - \x02\x03\x02\x12\x03d\x13\x14\n\n\n\x02\x04\x04\x12\x04g\0p\x01\n\n\n\ - \x03\x04\x04\x01\x12\x03g\x08\x17\nU\n\x04\x04\x04\x02\0\x12\x03i\x04$\ - \x1aH\x20indicates\x20the\x20particular\x20connection\x20management\x20r\ - equest\x20being\x20performed\n\n\r\n\x05\x04\x04\x02\0\x04\x12\x04i\x04g\ - \x19\n\x0c\n\x05\x04\x04\x02\0\x06\x12\x03i\x04\x13\n\x0c\n\x05\x04\x04\ - \x02\0\x01\x12\x03i\x14\x1f\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03i\"#\n8\ - \n\x04\x04\x04\x02\x01\x12\x03l\x04#\x1a+\x20a\x20list\x20of\x20multiadd\ - rs\n\x20sent\x20by:\x20CM_CONNECT\n\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\ - \x03l\x04\x0c\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03l\r\x13\n\x0c\n\x05\ - \x04\x04\x02\x01\x01\x12\x03l\x14\x1e\n\x0c\n\x05\x04\x04\x02\x01\x03\ - \x12\x03l!\"\nR\n\x04\x04\x04\x02\x02\x12\x03o\x04\x20\x1aE\x20a\x20list\ - \x20of\x20peer\x20IDs\n\x20sent\x20by:\x20CM_DISCONNECT,\x20CM_STATUS,\ - \x20CM_GET_PEERS\n\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03o\x04\x0c\n\ - \x0c\n\x05\x04\x04\x02\x02\x05\x12\x03o\r\x13\n\x0c\n\x05\x04\x04\x02\ - \x02\x01\x12\x03o\x14\x1b\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03o\x1e\ - \x1f\n\n\n\x02\x04\x05\x12\x04r\0y\x01\n\n\n\x03\x04\x05\x01\x12\x03r\ - \x08\x18\nU\n\x04\x04\x05\x02\0\x12\x03t\x04$\x1aH\x20indicates\x20the\ - \x20particular\x20connection\x20management\x20request\x20being\x20perfor\ - med\n\n\r\n\x05\x04\x05\x02\0\x04\x12\x04t\x04r\x1a\n\x0c\n\x05\x04\x05\ - \x02\0\x06\x12\x03t\x04\x13\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03t\x14\ - \x1f\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03t\"#\n\x0b\n\x04\x04\x05\x02\ - \x01\x12\x03u\x04$\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04u\x04t$\n\x0c\n\ - \x05\x04\x05\x02\x01\x06\x12\x03u\x04\x15\n\x0c\n\x05\x04\x05\x02\x01\ - \x01\x12\x03u\x16\x1f\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03u\"#\nh\n\ - \x04\x04\x05\x02\x02\x12\x03w\x04+\x1a[\x20a\x20map\x20of\x20the\x20peer\ - \x20id,\x20and\x20a\x20custom\x20message\x20indicating\x20success,\x20or\ - \x20why\x20there\x20was\x20a\x20failure\n\n\r\n\x05\x04\x05\x02\x02\x04\ - \x12\x04w\x04u$\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03w\x04\x1f\n\x0c\n\ - \x05\x04\x05\x02\x02\x01\x12\x03w\x20&\n\x0c\n\x05\x04\x05\x02\x02\x03\ - \x12\x03w)*\n\x0b\n\x04\x04\x05\x02\x03\x12\x03x\x04\x20\n\x0c\n\x05\x04\ - \x05\x02\x03\x04\x12\x03x\x04\x0c\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\ - \x03x\r\x13\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03x\x14\x1b\n\x0c\n\x05\ - \x04\x05\x02\x03\x03\x12\x03x\x1e\x1f\nP\n\x02\x04\x06\x12\x05|\0\x81\ - \x01\x01\x1aC\x20Contains\x20status\x20information\x20about\x20a\x20part\ - icular\x20disconnect\x20attempt\n\n\n\n\x03\x04\x06\x01\x12\x03|\x08\x16\ - \n?\n\x04\x04\x06\x02\0\x12\x03~\x04\x1a\x1a2\x20indicate\x20whether\x20\ - or\x20not\x20we\x20actually\x20disconnected\n\n\r\n\x05\x04\x06\x02\0\ + \x03.\x13\x14\nP\n\x04\x04\0\x02\x03\x12\x030\x04\x1c\x1aC\x20used\x20by\ + :\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD,\x20P2PREQTYPE.LISTEN\r\n\n\ + \r\n\x05\x04\0\x02\x03\x04\x12\x040\x04.\x15\n\x0c\n\x05\x04\0\x02\x03\ + \x05\x12\x030\x04\n\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x030\x0b\x17\n\x0c\ + \n\x05\x04\0\x02\x03\x03\x12\x030\x1a\x1b\n`\n\x04\x04\0\x02\x04\x12\x03\ + 3\x04\x1d\x1aS\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD\ + \r\n\x20must\x20be\x20specified\x20as\x20a\x20multiaddr\r\n\n\r\n\x05\ + \x04\0\x02\x04\x04\x12\x043\x040\x1c\n\x0c\n\x05\x04\0\x02\x04\x05\x12\ + \x033\x04\n\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x033\x0b\x18\n\x0c\n\x05\ + \x04\0\x02\x04\x03\x12\x033\x1b\x1c\n`\n\x04\x04\0\x02\x05\x12\x036\x04\ + \x1d\x1aS\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD\r\n\ + \x20must\x20be\x20specified\x20as\x20a\x20multiaddr\r\n\n\r\n\x05\x04\0\ + \x02\x05\x04\x12\x046\x043\x1d\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x036\ + \x04\n\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x036\x0b\x18\n\x0c\n\x05\x04\0\ + \x02\x05\x03\x12\x036\x1b\x1c\nM\n\x04\x04\0\x02\x06\x12\x039\x04\x1d\ + \x1a@\x20used\x20by:\x20P2PREQTYPE.LISTEN\r\n\x20must\x20be\x20specified\ + \x20as\x20a\x20multiaddr\r\n\n\r\n\x05\x04\0\x02\x06\x04\x12\x049\x046\ + \x1d\n\x0c\n\x05\x04\0\x02\x06\x05\x12\x039\x04\n\n\x0c\n\x05\x04\0\x02\ + \x06\x01\x12\x039\x0b\x18\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x039\x1b\x1c\ + \n>\n\x04\x04\0\x02\x07\x12\x03;\x04\"\x1a1\x20used\x20by:\x20P2PREQTYPE\ + .LISTEN,\x20P2PREQTYPE.FORWARD\r\n\n\r\n\x05\x04\0\x02\x07\x04\x12\x04;\ + \x049\x1d\n\x0c\n\x05\x04\0\x02\x07\x05\x12\x03;\x04\x08\n\x0c\n\x05\x04\ + \0\x02\x07\x01\x12\x03;\t\x1d\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03;\x20\ + !\n*\n\x04\x04\0\x02\x08\x12\x03=\x04\x1a\x1a\x1d\x20used\x20by:\x20P2PR\ + EQTYPE.LISTEN\r\n\n\r\n\x05\x04\0\x02\x08\x04\x12\x04=\x04;\"\n\x0c\n\ + \x05\x04\0\x02\x08\x05\x12\x03=\x04\x08\n\x0c\n\x05\x04\0\x02\x08\x01\ + \x12\x03=\t\x15\n\x0c\n\x05\x04\0\x02\x08\x03\x12\x03=\x18\x19\nY\n\x02\ + \x04\x01\x12\x04A\0I\x01\x1aM\x20P2PResponse\x20is\x20a\x20response\x20m\ + essage\x20sent\x20in\x20response\x20to\x20a\x20P2PRequest\x20message\r\n\ + \n\n\n\x03\x04\x01\x01\x12\x03A\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\ + \x03B\x04\x1f\n\r\n\x05\x04\x01\x02\0\x04\x12\x04B\x04A\x15\n\x0c\n\x05\ + \x04\x01\x02\0\x06\x12\x03B\x04\x0e\n\x0c\n\x05\x04\x01\x02\0\x01\x12\ + \x03B\x0f\x1a\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03B\x1d\x1e\n*\n\x04\ + \x04\x01\x02\x01\x12\x03D\x04\x1e\x1a\x1d\x20sent\x20by:\x20P2PREQTYPE.L\ + ISTEN\r\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03D\x04\x0c\n\x0c\n\x05\ + \x04\x01\x02\x01\x05\x12\x03D\r\x13\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\ + \x03D\x14\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03D\x1c\x1d\nV\n\x04\ + \x04\x01\x02\x02\x12\x03F\x04\x1a\x1aI\x20sent\x20by:\x20P2PREQTYPE.CLOS\ + E\x20to\x20indicate\x20the\x20number\x20of\x20connections\x20closed\r\n\ + \n\r\n\x05\x04\x01\x02\x02\x04\x12\x04F\x04D\x1e\n\x0c\n\x05\x04\x01\x02\ + \x02\x05\x12\x03F\x04\t\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03F\n\x15\n\ + \x0c\n\x05\x04\x01\x02\x02\x03\x12\x03F\x18\x19\nP\n\x04\x04\x01\x02\x03\ + \x12\x03H\x04'\x1aC\x20sent\x20by:\x20P2PREQTYPE.LS\x20and\x20contains\ + \x20all\x20known\x20stream\x20information\r\n\n\x0c\n\x05\x04\x01\x02\ + \x03\x04\x12\x03H\x04\x0c\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03H\r\x16\ + \n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03H\x17\"\n\x0c\n\x05\x04\x01\x02\ + \x03\x03\x12\x03H%&\nG\n\x02\x04\x02\x12\x04L\0R\x01\x1a;\x20P2PLsInfo\ + \x20contains\x20information\x20about\x20a\x20single\x20p2p\x20stream\r\n\ + \n\n\n\x03\x04\x02\x01\x12\x03L\x08\x11\n\x0b\n\x04\x04\x02\x02\0\x12\ + \x03M\x04\x1c\n\r\n\x05\x04\x02\x02\0\x04\x12\x04M\x04L\x13\n\x0c\n\x05\ + \x04\x02\x02\0\x05\x12\x03M\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03M\ + \x0b\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03M\x1a\x1b\n\x0b\n\x04\x04\ + \x02\x02\x01\x12\x03N\x04\x1d\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04N\x04\ + M\x1c\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03N\x04\n\n\x0c\n\x05\x04\x02\ + \x02\x01\x01\x12\x03N\x0b\x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03N\ + \x1b\x1c\n\x0b\n\x04\x04\x02\x02\x02\x12\x03O\x04\x1d\n\r\n\x05\x04\x02\ + \x02\x02\x04\x12\x04O\x04N\x1d\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03O\ + \x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03O\x0b\x18\n\x0c\n\x05\x04\ + \x02\x02\x02\x03\x12\x03O\x1b\x1c\nQ\n\x04\x04\x02\x02\x03\x12\x03Q\x04\ + \x13\x1aD\x20indicates\x20whether\x20or\x20not\x20this\x20is\x20a\x20p2p\ + \x20listener\x20or\x20local\x20listener\r\n\n\r\n\x05\x04\x02\x02\x03\ + \x04\x12\x04Q\x04O\x1d\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03Q\x04\x08\ + \n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03Q\t\x0e\n\x0c\n\x05\x04\x02\x02\ + \x03\x03\x12\x03Q\x11\x12\nX\n\x02\x04\x03\x12\x04U\0X\x01\x1aL\x20GetPe\ + ersResponse\x20is\x20a\x20response\x20to\x20GetPeers\x20containing\x20a\ + \x20slice\x20of\x20peer\x20IDs\r\n\n\n\n\x03\x04\x03\x01\x12\x03U\x08\ + \x18\n#\n\x04\x04\x03\x02\0\x12\x03W\x04\x20\x1a\x16\x20a\x20slice\x20of\ + \x20peer\x20IDs\r\n\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03W\x04\x0c\n\x0c\ + \n\x05\x04\x03\x02\0\x05\x12\x03W\r\x13\n\x0c\n\x05\x04\x03\x02\0\x01\ + \x12\x03W\x14\x1b\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03W\x1e\x1f\nX\n\ + \x02\x05\x01\x12\x04[\0e\x01\x1aL\x20CONNMGMTREQTYPE\x20indicates\x20the\ + \x20particular\x20ConnMgmt\x20request\x20being\x20performed\r\n\n\n\n\ + \x03\x05\x01\x01\x12\x03[\x05\x14\n>\n\x04\x05\x01\x02\0\x12\x03]\x04\ + \x13\x1a1\x20CM_CONNECT\x20is\x20used\x20to\x20connect\x20to\x20a\x20lib\ + p2p\x20peer\r\n\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03]\x04\x0e\n\x0c\n\ + \x05\x05\x01\x02\0\x02\x12\x03]\x11\x12\nF\n\x04\x05\x01\x02\x01\x12\x03\ + _\x04\x16\x1a9\x20CM_DISCONNECT\x20is\x20used\x20to\x20disconnect\x20fro\ + m\x20a\x20libp2p\x20peer\r\n\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03_\ + \x04\x11\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03_\x14\x15\n\xa1\x01\n\ + \x04\x05\x01\x02\x02\x12\x03b\x04\x12\x1a\x93\x01\x20CM_STATUS\x20is\x20\ + used\x20to\x20return\x20status\x20information\x20about\x20libp2p\x20peer\ + \x20connections\r\n\x20useful\x20for\x20determining\x20whether\x20or\x20\ + not\x20we\x20are\x20connected\x20to\x20someone\r\n\n\x0c\n\x05\x05\x01\ + \x02\x02\x01\x12\x03b\x04\r\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03b\x10\ + \x11\n=\n\x04\x05\x01\x02\x03\x12\x03d\x04\x15\x1a0CM_GET_PEERS\x20is\ + \x20used\x20to\x20return\x20all\x20known\x20peers\r\n\n\x0c\n\x05\x05\ + \x01\x02\x03\x01\x12\x03d\x04\x10\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\ + \x03d\x13\x14\n\n\n\x02\x04\x04\x12\x04g\0p\x01\n\n\n\x03\x04\x04\x01\ + \x12\x03g\x08\x17\nV\n\x04\x04\x04\x02\0\x12\x03i\x04$\x1aI\x20indicates\ + \x20the\x20particular\x20connection\x20management\x20request\x20being\ + \x20performed\r\n\n\r\n\x05\x04\x04\x02\0\x04\x12\x04i\x04g\x19\n\x0c\n\ + \x05\x04\x04\x02\0\x06\x12\x03i\x04\x13\n\x0c\n\x05\x04\x04\x02\0\x01\ + \x12\x03i\x14\x1f\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03i\"#\n:\n\x04\x04\ + \x04\x02\x01\x12\x03l\x04#\x1a-\x20a\x20list\x20of\x20multiaddrs\r\n\x20\ + sent\x20by:\x20CM_CONNECT\r\n\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\x03l\ + \x04\x0c\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03l\r\x13\n\x0c\n\x05\x04\ + \x04\x02\x01\x01\x12\x03l\x14\x1e\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\ + \x03l!\"\nT\n\x04\x04\x04\x02\x02\x12\x03o\x04\x20\x1aG\x20a\x20list\x20\ + of\x20peer\x20IDs\r\n\x20sent\x20by:\x20CM_DISCONNECT,\x20CM_STATUS,\x20\ + CM_GET_PEERS\r\n\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03o\x04\x0c\n\x0c\ + \n\x05\x04\x04\x02\x02\x05\x12\x03o\r\x13\n\x0c\n\x05\x04\x04\x02\x02\ + \x01\x12\x03o\x14\x1b\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03o\x1e\x1f\n\ + \n\n\x02\x04\x05\x12\x04r\0y\x01\n\n\n\x03\x04\x05\x01\x12\x03r\x08\x18\ + \nV\n\x04\x04\x05\x02\0\x12\x03t\x04$\x1aI\x20indicates\x20the\x20partic\ + ular\x20connection\x20management\x20request\x20being\x20performed\r\n\n\ + \r\n\x05\x04\x05\x02\0\x04\x12\x04t\x04r\x1a\n\x0c\n\x05\x04\x05\x02\0\ + \x06\x12\x03t\x04\x13\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03t\x14\x1f\n\ + \x0c\n\x05\x04\x05\x02\0\x03\x12\x03t\"#\n\x0b\n\x04\x04\x05\x02\x01\x12\ + \x03u\x04$\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04u\x04t$\n\x0c\n\x05\x04\ + \x05\x02\x01\x06\x12\x03u\x04\x15\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\ + \x03u\x16\x1f\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03u\"#\ni\n\x04\x04\ + \x05\x02\x02\x12\x03w\x04+\x1a\\\x20a\x20map\x20of\x20the\x20peer\x20id,\ + \x20and\x20a\x20custom\x20message\x20indicating\x20success,\x20or\x20why\ + \x20there\x20was\x20a\x20failure\r\n\n\r\n\x05\x04\x05\x02\x02\x04\x12\ + \x04w\x04u$\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03w\x04\x1f\n\x0c\n\x05\ + \x04\x05\x02\x02\x01\x12\x03w\x20&\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\ + \x03w)*\n\x0b\n\x04\x04\x05\x02\x03\x12\x03x\x04\x20\n\x0c\n\x05\x04\x05\ + \x02\x03\x04\x12\x03x\x04\x0c\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\x03x\r\ + \x13\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03x\x14\x1b\n\x0c\n\x05\x04\ + \x05\x02\x03\x03\x12\x03x\x1e\x1f\nQ\n\x02\x04\x06\x12\x05|\0\x81\x01\ + \x01\x1aD\x20Contains\x20status\x20information\x20about\x20a\x20particul\ + ar\x20disconnect\x20attempt\r\n\n\n\n\x03\x04\x06\x01\x12\x03|\x08\x16\n\ + @\n\x04\x04\x06\x02\0\x12\x03~\x04\x1a\x1a3\x20indicate\x20whether\x20or\ + \x20not\x20we\x20actually\x20disconnected\r\n\n\r\n\x05\x04\x06\x02\0\ \x04\x12\x04~\x04|\x18\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03~\x04\x08\n\ \x0c\n\x05\x04\x06\x02\0\x01\x12\x03~\t\x15\n\x0c\n\x05\x04\x06\x02\0\ - \x03\x12\x03~\x18\x19\nD\n\x04\x04\x06\x02\x01\x12\x04\x80\x01\x04\x16\ - \x1a6\x20if\x20disconnected\x20is\x20false,\x20the\x20reason\x20why\x20i\ - t\x20is\x20false\n\n\x0e\n\x05\x04\x06\x02\x01\x04\x12\x05\x80\x01\x04~\ - \x1a\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\x80\x01\x04\n\n\r\n\x05\x04\ + \x03\x12\x03~\x18\x19\nE\n\x04\x04\x06\x02\x01\x12\x04\x80\x01\x04\x16\ + \x1a7\x20if\x20disconnected\x20is\x20false,\x20the\x20reason\x20why\x20i\ + t\x20is\x20false\r\n\n\x0e\n\x05\x04\x06\x02\x01\x04\x12\x05\x80\x01\x04\ + ~\x1a\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\x80\x01\x04\n\n\r\n\x05\x04\ \x06\x02\x01\x01\x12\x04\x80\x01\x0b\x11\n\r\n\x05\x04\x06\x02\x01\x03\ - \x12\x04\x80\x01\x14\x15\nU\n\x02\x05\x02\x12\x06\x84\x01\0\x89\x01\x01\ - \x1aG\x20EXTRASREQTYPE\x20indicates\x20the\x20particular\x20Extras\x20re\ - quest\x20being\x20performed\n\n\x0b\n\x03\x05\x02\x01\x12\x04\x84\x01\ - \x05\x12\nL\n\x04\x05\x02\x02\0\x12\x04\x86\x01\x04\x12\x1a>\x20EX_ENABL\ + \x12\x04\x80\x01\x14\x15\nV\n\x02\x05\x02\x12\x06\x84\x01\0\x89\x01\x01\ + \x1aH\x20EXTRASREQTYPE\x20indicates\x20the\x20particular\x20Extras\x20re\ + quest\x20being\x20performed\r\n\n\x0b\n\x03\x05\x02\x01\x12\x04\x84\x01\ + \x05\x12\nM\n\x04\x05\x02\x02\0\x12\x04\x86\x01\x04\x12\x1a?\x20EX_ENABL\ E\x20is\x20used\x20to\x20enable\x20a\x20particular\x20node\x20extras\x20\ - feature\n\n\r\n\x05\x05\x02\x02\0\x01\x12\x04\x86\x01\x04\r\n\r\n\x05\ - \x05\x02\x02\0\x02\x12\x04\x86\x01\x10\x11\nN\n\x04\x05\x02\x02\x01\x12\ - \x04\x88\x01\x04\x13\x1a@\x20EX_DISABLE\x20is\x20used\x20to\x20disable\ - \x20a\x20particular\x20node\x20extras\x20feature\n\n\r\n\x05\x05\x02\x02\ - \x01\x01\x12\x04\x88\x01\x04\x0e\n\r\n\x05\x05\x02\x02\x01\x02\x12\x04\ - \x88\x01\x11\x12\n;\n\x02\x05\x03\x12\x06\x8c\x01\0\x95\x01\x01\x1a-\x20\ - EXTRASTYPE\x20denotes\x20a\x20particular\x20extras\x20type\n\n\x0b\n\x03\ - \x05\x03\x01\x12\x04\x8c\x01\x05\x0f\n0\n\x04\x05\x03\x02\0\x12\x04\x8e\ - \x01\x04\x11\x1a\"\x20IDENTIFY\x20is\x20the\x20identify\x20service\n\n\r\ - \n\x05\x05\x03\x02\0\x01\x12\x04\x8e\x01\x04\x0c\n\r\n\x05\x05\x03\x02\0\ - \x02\x12\x04\x8e\x01\x0f\x10\n2\n\x04\x05\x03\x02\x01\x12\x04\x90\x01\ - \x04\x0f\x1a$\x20PUBSUB\x20is\x20the\x20libp2p\x20pubsub\x20system\n\n\r\ - \n\x05\x05\x03\x02\x01\x01\x12\x04\x90\x01\x04\n\n\r\n\x05\x05\x03\x02\ - \x01\x02\x12\x04\x90\x01\r\x0e\n7\n\x04\x05\x03\x02\x02\x12\x04\x92\x01\ - \x04\x12\x1a)\x20DISCOVERY\x20is\x20a\x20libp2p\x20discovery\x20service\ - \n\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\x92\x01\x04\r\n\r\n\x05\x05\x03\ - \x02\x02\x02\x12\x04\x92\x01\x10\x11\n?\n\x04\x05\x03\x02\x03\x12\x04\ - \x94\x01\x04\r\x1a1\x20MDNS\x20is\x20used\x20to\x20discover\x20libp2p\ - \x20hosts\x20over\x20mdns\n\n\r\n\x05\x05\x03\x02\x03\x01\x12\x04\x94\ - \x01\x04\x08\n\r\n\x05\x05\x03\x02\x03\x02\x12\x04\x94\x01\x0b\x0c\n\x0c\ - \n\x02\x04\x07\x12\x06\x97\x01\0\x9c\x01\x01\n\x0b\n\x03\x04\x07\x01\x12\ - \x04\x97\x01\x08\x15\n5\n\x04\x04\x07\x02\0\x12\x04\x99\x01\x04\"\x1a'\ - \x20indicates\x20the\x20request\x20being\x20performed\n\n\x0f\n\x05\x04\ - \x07\x02\0\x04\x12\x06\x99\x01\x04\x97\x01\x17\n\r\n\x05\x04\x07\x02\0\ - \x06\x12\x04\x99\x01\x04\x11\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\x99\x01\ - \x12\x1d\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\x99\x01\x20!\nD\n\x04\x04\ - \x07\x02\x01\x12\x04\x9b\x01\x04!\x1a6\x20indicates\x20the\x20extras\x20\ - feature\x20this\x20request\x20applies\x20to\n\n\x0f\n\x05\x04\x07\x02\ - \x01\x04\x12\x06\x9b\x01\x04\x99\x01\"\n\r\n\x05\x04\x07\x02\x01\x06\x12\ - \x04\x9b\x01\x04\x0e\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\x9b\x01\x0f\ - \x1c\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x9b\x01\x1f\x20\nA\n\x02\x05\ - \x04\x12\x06\xa0\x01\0\xb6\x01\x01\x1a3\x20BSREQTYPE\x20is\x20a\x20parti\ - cular\x20blockstore\x20request\x20type\n\n\x0b\n\x03\x05\x04\x01\x12\x04\ - \xa0\x01\x05\x0e\nB\n\x04\x05\x04\x02\0\x12\x04\xa2\x01\x04\x12\x1a4\x20\ - BS_DELETE\x20is\x20used\x20to\x20delete\x20a\x20block\x20from\x20the\x20\ - store\n\n\r\n\x05\x05\x04\x02\0\x01\x12\x04\xa2\x01\x04\r\n\r\n\x05\x05\ - \x04\x02\0\x02\x12\x04\xa2\x01\x10\x11\nA\n\x04\x05\x04\x02\x01\x12\x04\ - \xa4\x01\x04\x0f\x1a3\x20BS_PUT\x20is\x20used\x20to\x20put\x20a\x20singl\ - e\x20block\x20in\x20the\x20store\n\n\r\n\x05\x05\x04\x02\x01\x01\x12\x04\ - \xa4\x01\x04\n\n\r\n\x05\x05\x04\x02\x01\x02\x12\x04\xa4\x01\r\x0e\nC\n\ - \x04\x05\x04\x02\x02\x12\x04\xa6\x01\x04\x14\x1a5\x20BS_PUT_MANY\x20is\ - \x20used\x20to\x20put\x20many\x20blocks\x20in\x20the\x20store\n\n\r\n\ - \x05\x05\x04\x02\x02\x01\x12\x04\xa6\x01\x04\x0f\n\r\n\x05\x05\x04\x02\ - \x02\x02\x12\x04\xa6\x01\x12\x13\n<\n\x04\x05\x04\x02\x03\x12\x04\xa8\ - \x01\x04\x0f\x1a.\x20BS_GET\x20is\x20used\x20to\x20get\x20a\x20block\x20\ - from\x20the\x20store\n\n\r\n\x05\x05\x04\x02\x03\x01\x12\x04\xa8\x01\x04\ - \n\n\r\n\x05\x05\x04\x02\x03\x02\x12\x04\xa8\x01\r\x0e\nE\n\x04\x05\x04\ - \x02\x04\x12\x04\xaa\x01\x04\x14\x1a7\x20BS_GET_MANY\x20is\x20used\x20to\ - \x20get\x20many\x20blocks\x20from\x20the\x20store\n\n\r\n\x05\x05\x04\ - \x02\x04\x01\x12\x04\xaa\x01\x04\x0f\n\r\n\x05\x05\x04\x02\x04\x02\x12\ - \x04\xaa\x01\x12\x13\n~\n\x04\x05\x04\x02\x05\x12\x04\xad\x01\x04\x13\ - \x1ap\x20BS_GET_ALL\x20is\x20used\x20to\x20retrieve\x20all\x20blocks\x20\ - from\x20the\x20store\n\x20It\x20is\x20the\x20gRPC\x20equivalent\x20of\ - \x20Blockstore::AllKeysChan\n\n\r\n\x05\x05\x04\x02\x05\x01\x12\x04\xad\ - \x01\x04\x0e\n\r\n\x05\x05\x04\x02\x05\x02\x12\x04\xad\x01\x11\x12\nS\n\ - \x04\x05\x04\x02\x06\x12\x04\xaf\x01\x04\x15\x1aE\x20BS_GET_STATS\x20is\ - \x20used\x20to\x20retrieve\x20statistics\x20about\x20individual\x20block\ - s\n\n\r\n\x05\x05\x04\x02\x06\x01\x12\x04\xaf\x01\x04\x10\n\r\n\x05\x05\ - \x04\x02\x06\x02\x12\x04\xaf\x01\x13\x14\nK\n\x04\x05\x04\x02\x07\x12\ - \x04\xb1\x01\x04\x0f\x1a=\x20BS_HAS\x20is\x20used\x20to\x20retrieve\x20w\ - hether\x20or\x20not\x20we\x20have\x20the\x20block\n\n\r\n\x05\x05\x04\ - \x02\x07\x01\x12\x04\xb1\x01\x04\n\n\r\n\x05\x05\x04\x02\x07\x02\x12\x04\ - \xb1\x01\r\x0e\nE\n\x04\x05\x04\x02\x08\x12\x04\xb3\x01\x04\x1f\x1a7\x20\ - BS_HASH_ON_READ_ENABLE\x20is\x20used\x20to\x20enable\x20hash\x20on\x20re\ - ad\n\n\r\n\x05\x05\x04\x02\x08\x01\x12\x04\xb3\x01\x04\x1a\n\r\n\x05\x05\ - \x04\x02\x08\x02\x12\x04\xb3\x01\x1d\x1e\nG\n\x04\x05\x04\x02\t\x12\x04\ - \xb5\x01\x04\x20\x1a9\x20BS_HASH_ON_READ_DISABLE\x20is\x20used\x20to\x20\ - disable\x20hash\x20on\x20read\n\n\r\n\x05\x05\x04\x02\t\x01\x12\x04\xb5\ - \x01\x04\x1b\n\r\n\x05\x05\x04\x02\t\x02\x12\x04\xb5\x01\x1e\x1f\n=\n\ - \x02\x05\x05\x12\x06\xb9\x01\0\xbe\x01\x01\x1a/\x20BSREQOPTS\x20are\x20o\ - ptions\x20for\x20blockstore\x20requests\n\n\x0b\n\x03\x05\x05\x01\x12\ - \x04\xb9\x01\x05\x0e\n=\n\x04\x05\x05\x02\0\x12\x04\xbb\x01\x04\x10\x1a/\ - \x20DEFAULT\x20indicates\x20to\x20use\x20the\x20default\x20settings\n\n\ - \r\n\x05\x05\x05\x02\0\x01\x12\x04\xbb\x01\x04\x0b\n\r\n\x05\x05\x05\x02\ - \0\x02\x12\x04\xbb\x01\x0e\x0f\nY\n\x04\x05\x05\x02\x01\x12\x04\xbd\x01\ - \x04\x11\x1aK\x20BS_FORCE\x20indicates\x20to\x20force\x20the\x20request\ - \x20regardless\x20of\x20any\x20possible\x20issues\n\n\r\n\x05\x05\x05\ + feature\r\n\n\r\n\x05\x05\x02\x02\0\x01\x12\x04\x86\x01\x04\r\n\r\n\x05\ + \x05\x02\x02\0\x02\x12\x04\x86\x01\x10\x11\nO\n\x04\x05\x02\x02\x01\x12\ + \x04\x88\x01\x04\x13\x1aA\x20EX_DISABLE\x20is\x20used\x20to\x20disable\ + \x20a\x20particular\x20node\x20extras\x20feature\r\n\n\r\n\x05\x05\x02\ + \x02\x01\x01\x12\x04\x88\x01\x04\x0e\n\r\n\x05\x05\x02\x02\x01\x02\x12\ + \x04\x88\x01\x11\x12\n<\n\x02\x05\x03\x12\x06\x8c\x01\0\x95\x01\x01\x1a.\ + \x20EXTRASTYPE\x20denotes\x20a\x20particular\x20extras\x20type\r\n\n\x0b\ + \n\x03\x05\x03\x01\x12\x04\x8c\x01\x05\x0f\n1\n\x04\x05\x03\x02\0\x12\ + \x04\x8e\x01\x04\x11\x1a#\x20IDENTIFY\x20is\x20the\x20identify\x20servic\ + e\r\n\n\r\n\x05\x05\x03\x02\0\x01\x12\x04\x8e\x01\x04\x0c\n\r\n\x05\x05\ + \x03\x02\0\x02\x12\x04\x8e\x01\x0f\x10\n3\n\x04\x05\x03\x02\x01\x12\x04\ + \x90\x01\x04\x0f\x1a%\x20PUBSUB\x20is\x20the\x20libp2p\x20pubsub\x20syst\ + em\r\n\n\r\n\x05\x05\x03\x02\x01\x01\x12\x04\x90\x01\x04\n\n\r\n\x05\x05\ + \x03\x02\x01\x02\x12\x04\x90\x01\r\x0e\n8\n\x04\x05\x03\x02\x02\x12\x04\ + \x92\x01\x04\x12\x1a*\x20DISCOVERY\x20is\x20a\x20libp2p\x20discovery\x20\ + service\r\n\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\x92\x01\x04\r\n\r\n\ + \x05\x05\x03\x02\x02\x02\x12\x04\x92\x01\x10\x11\n@\n\x04\x05\x03\x02\ + \x03\x12\x04\x94\x01\x04\r\x1a2\x20MDNS\x20is\x20used\x20to\x20discover\ + \x20libp2p\x20hosts\x20over\x20mdns\r\n\n\r\n\x05\x05\x03\x02\x03\x01\ + \x12\x04\x94\x01\x04\x08\n\r\n\x05\x05\x03\x02\x03\x02\x12\x04\x94\x01\ + \x0b\x0c\n\x0c\n\x02\x04\x07\x12\x06\x97\x01\0\x9c\x01\x01\n\x0b\n\x03\ + \x04\x07\x01\x12\x04\x97\x01\x08\x15\n6\n\x04\x04\x07\x02\0\x12\x04\x99\ + \x01\x04\"\x1a(\x20indicates\x20the\x20request\x20being\x20performed\r\n\ + \n\x0f\n\x05\x04\x07\x02\0\x04\x12\x06\x99\x01\x04\x97\x01\x17\n\r\n\x05\ + \x04\x07\x02\0\x06\x12\x04\x99\x01\x04\x11\n\r\n\x05\x04\x07\x02\0\x01\ + \x12\x04\x99\x01\x12\x1d\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\x99\x01\x20\ + !\nE\n\x04\x04\x07\x02\x01\x12\x04\x9b\x01\x04!\x1a7\x20indicates\x20the\ + \x20extras\x20feature\x20this\x20request\x20applies\x20to\r\n\n\x0f\n\ + \x05\x04\x07\x02\x01\x04\x12\x06\x9b\x01\x04\x99\x01\"\n\r\n\x05\x04\x07\ + \x02\x01\x06\x12\x04\x9b\x01\x04\x0e\n\r\n\x05\x04\x07\x02\x01\x01\x12\ + \x04\x9b\x01\x0f\x1c\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x9b\x01\x1f\ + \x20\nB\n\x02\x05\x04\x12\x06\xa0\x01\0\xb6\x01\x01\x1a4\x20BSREQTYPE\ + \x20is\x20a\x20particular\x20blockstore\x20request\x20type\r\n\n\x0b\n\ + \x03\x05\x04\x01\x12\x04\xa0\x01\x05\x0e\nC\n\x04\x05\x04\x02\0\x12\x04\ + \xa2\x01\x04\x12\x1a5\x20BS_DELETE\x20is\x20used\x20to\x20delete\x20a\ + \x20block\x20from\x20the\x20store\r\n\n\r\n\x05\x05\x04\x02\0\x01\x12\ + \x04\xa2\x01\x04\r\n\r\n\x05\x05\x04\x02\0\x02\x12\x04\xa2\x01\x10\x11\n\ + B\n\x04\x05\x04\x02\x01\x12\x04\xa4\x01\x04\x0f\x1a4\x20BS_PUT\x20is\x20\ + used\x20to\x20put\x20a\x20single\x20block\x20in\x20the\x20store\r\n\n\r\ + \n\x05\x05\x04\x02\x01\x01\x12\x04\xa4\x01\x04\n\n\r\n\x05\x05\x04\x02\ + \x01\x02\x12\x04\xa4\x01\r\x0e\nD\n\x04\x05\x04\x02\x02\x12\x04\xa6\x01\ + \x04\x14\x1a6\x20BS_PUT_MANY\x20is\x20used\x20to\x20put\x20many\x20block\ + s\x20in\x20the\x20store\r\n\n\r\n\x05\x05\x04\x02\x02\x01\x12\x04\xa6\ + \x01\x04\x0f\n\r\n\x05\x05\x04\x02\x02\x02\x12\x04\xa6\x01\x12\x13\n=\n\ + \x04\x05\x04\x02\x03\x12\x04\xa8\x01\x04\x0f\x1a/\x20BS_GET\x20is\x20use\ + d\x20to\x20get\x20a\x20block\x20from\x20the\x20store\r\n\n\r\n\x05\x05\ + \x04\x02\x03\x01\x12\x04\xa8\x01\x04\n\n\r\n\x05\x05\x04\x02\x03\x02\x12\ + \x04\xa8\x01\r\x0e\nF\n\x04\x05\x04\x02\x04\x12\x04\xaa\x01\x04\x14\x1a8\ + \x20BS_GET_MANY\x20is\x20used\x20to\x20get\x20many\x20blocks\x20from\x20\ + the\x20store\r\n\n\r\n\x05\x05\x04\x02\x04\x01\x12\x04\xaa\x01\x04\x0f\n\ + \r\n\x05\x05\x04\x02\x04\x02\x12\x04\xaa\x01\x12\x13\n\x80\x01\n\x04\x05\ + \x04\x02\x05\x12\x04\xad\x01\x04\x13\x1ar\x20BS_GET_ALL\x20is\x20used\ + \x20to\x20retrieve\x20all\x20blocks\x20from\x20the\x20store\r\n\x20It\ + \x20is\x20the\x20gRPC\x20equivalent\x20of\x20Blockstore::AllKeysChan\r\n\ + \n\r\n\x05\x05\x04\x02\x05\x01\x12\x04\xad\x01\x04\x0e\n\r\n\x05\x05\x04\ + \x02\x05\x02\x12\x04\xad\x01\x11\x12\nT\n\x04\x05\x04\x02\x06\x12\x04\ + \xaf\x01\x04\x15\x1aF\x20BS_GET_STATS\x20is\x20used\x20to\x20retrieve\ + \x20statistics\x20about\x20individual\x20blocks\r\n\n\r\n\x05\x05\x04\ + \x02\x06\x01\x12\x04\xaf\x01\x04\x10\n\r\n\x05\x05\x04\x02\x06\x02\x12\ + \x04\xaf\x01\x13\x14\nL\n\x04\x05\x04\x02\x07\x12\x04\xb1\x01\x04\x0f\ + \x1a>\x20BS_HAS\x20is\x20used\x20to\x20retrieve\x20whether\x20or\x20not\ + \x20we\x20have\x20the\x20block\r\n\n\r\n\x05\x05\x04\x02\x07\x01\x12\x04\ + \xb1\x01\x04\n\n\r\n\x05\x05\x04\x02\x07\x02\x12\x04\xb1\x01\r\x0e\nF\n\ + \x04\x05\x04\x02\x08\x12\x04\xb3\x01\x04\x1f\x1a8\x20BS_HASH_ON_READ_ENA\ + BLE\x20is\x20used\x20to\x20enable\x20hash\x20on\x20read\r\n\n\r\n\x05\ + \x05\x04\x02\x08\x01\x12\x04\xb3\x01\x04\x1a\n\r\n\x05\x05\x04\x02\x08\ + \x02\x12\x04\xb3\x01\x1d\x1e\nH\n\x04\x05\x04\x02\t\x12\x04\xb5\x01\x04\ + \x20\x1a:\x20BS_HASH_ON_READ_DISABLE\x20is\x20used\x20to\x20disable\x20h\ + ash\x20on\x20read\r\n\n\r\n\x05\x05\x04\x02\t\x01\x12\x04\xb5\x01\x04\ + \x1b\n\r\n\x05\x05\x04\x02\t\x02\x12\x04\xb5\x01\x1e\x1f\n>\n\x02\x05\ + \x05\x12\x06\xb9\x01\0\xbe\x01\x01\x1a0\x20BSREQOPTS\x20are\x20options\ + \x20for\x20blockstore\x20requests\r\n\n\x0b\n\x03\x05\x05\x01\x12\x04\ + \xb9\x01\x05\x0e\n>\n\x04\x05\x05\x02\0\x12\x04\xbb\x01\x04\x10\x1a0\x20\ + DEFAULT\x20indicates\x20to\x20use\x20the\x20default\x20settings\r\n\n\r\ + \n\x05\x05\x05\x02\0\x01\x12\x04\xbb\x01\x04\x0b\n\r\n\x05\x05\x05\x02\0\ + \x02\x12\x04\xbb\x01\x0e\x0f\nZ\n\x04\x05\x05\x02\x01\x12\x04\xbd\x01\ + \x04\x11\x1aL\x20BS_FORCE\x20indicates\x20to\x20force\x20the\x20request\ + \x20regardless\x20of\x20any\x20possible\x20issues\r\n\n\r\n\x05\x05\x05\ \x02\x01\x01\x12\x04\xbd\x01\x04\x0c\n\r\n\x05\x05\x05\x02\x01\x02\x12\ - \x04\xbd\x01\x0f\x10\nJ\n\x02\x04\x08\x12\x06\xc1\x01\0\xd2\x01\x01\x1a<\ + \x04\xbd\x01\x0f\x10\nK\n\x02\x04\x08\x12\x06\xc1\x01\0\xd9\x01\x01\x1a=\ \x20BlockstoreRequest\x20is\x20a\x20message\x20used\x20to\x20control\x20\ - blockstores\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xc1\x01\x08\x19\nA\n\x04\ - \x04\x08\x02\0\x12\x04\xc3\x01\x04\x1e\x1a3\x20\x20indicates\x20the\x20p\ - articular\x20request\x20type\x20being\x20made\n\n\x0f\n\x05\x04\x08\x02\ - \0\x04\x12\x06\xc3\x01\x04\xc1\x01\x1b\n\r\n\x05\x04\x08\x02\0\x06\x12\ - \x04\xc3\x01\x04\r\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xc3\x01\x0e\x19\n\ - \r\n\x05\x04\x08\x02\0\x03\x12\x04\xc3\x01\x1c\x1d\n)\n\x04\x04\x08\x02\ - \x01\x12\x04\xc5\x01\x04#\x1a\x1b\x20optional\x20request\x20settings\n\n\ - \r\n\x05\x04\x08\x02\x01\x04\x12\x04\xc5\x01\x04\x0c\n\r\n\x05\x04\x08\ - \x02\x01\x06\x12\x04\xc5\x01\r\x16\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\ - \xc5\x01\x17\x1e\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xc5\x01!\"\nU\n\ - \x04\x04\x08\x02\x02\x12\x04\xc8\x01\x04\x1d\x1aG\x20cids\x20of\x20block\ - s\n\x20sent\x20by:\x20BS_DELETE,\x20BS_GET,\x20BS_GET_MANY,\x20BS_GET_ST\ - ATS\n\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xc8\x01\x04\x0c\n\r\n\x05\ - \x04\x08\x02\x02\x05\x12\x04\xc8\x01\r\x13\n\r\n\x05\x04\x08\x02\x02\x01\ - \x12\x04\xc8\x01\x14\x18\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xc8\x01\ - \x1b\x1c\nE\n\x04\x04\x08\x02\x03\x12\x04\xcb\x01\x04\x1c\x1a7\x20the\ - \x20data\x20we\x20are\x20putting\n\x20sent\x20by:\x20BS_PUT,\x20BS_PUT_M\ - ANY\n\n\r\n\x05\x04\x08\x02\x03\x04\x12\x04\xcb\x01\x04\x0c\n\r\n\x05\ - \x04\x08\x02\x03\x05\x12\x04\xcb\x01\r\x12\n\r\n\x05\x04\x08\x02\x03\x01\ - \x12\x04\xcb\x01\x13\x17\n\r\n\x05\x04\x08\x02\x03\x03\x12\x04\xcb\x01\ - \x1a\x1b\nl\n\x04\x04\x08\x02\x04\x12\x04\xce\x01\x04\x1a\x1a^\x20the\ - \x20cid\x20version\x20to\x20use\x20when\x20constructing\x20blocks,\x20de\ - fault\x20is\x20v1\n\x20sent\x20by:\x20BS_PUT,\x20BS_PUT_MANY\n\n\x0f\n\ - \x05\x04\x08\x02\x04\x04\x12\x06\xce\x01\x04\xcb\x01\x1c\n\r\n\x05\x04\ - \x08\x02\x04\x05\x12\x04\xce\x01\x04\n\n\r\n\x05\x04\x08\x02\x04\x01\x12\ - \x04\xce\x01\x0b\x15\n\r\n\x05\x04\x08\x02\x04\x03\x12\x04\xce\x01\x18\ - \x19\nt\n\x04\x04\x08\x02\x05\x12\x04\xd1\x01\x04\x18\x1af\x20the\x20has\ - h\x20function\x20to\x20use\x20when\x20constructing\x20blocks,\x20default\ - \x20is\x20sha2-256\n\x20sent\x20by:\x20BS_PUT,\x20BS_PUT_MANY\n\n\x0f\n\ - \x05\x04\x08\x02\x05\x04\x12\x06\xd1\x01\x04\xce\x01\x1a\n\r\n\x05\x04\ - \x08\x02\x05\x05\x12\x04\xd1\x01\x04\n\n\r\n\x05\x04\x08\x02\x05\x01\x12\ - \x04\xd1\x01\x0b\x13\n\r\n\x05\x04\x08\x02\x05\x03\x12\x04\xd1\x01\x16\ - \x17\nH\n\x02\x04\t\x12\x06\xd5\x01\0\xe2\x01\x01\x1a:\x20BlockstoreResp\ - onse\x20is\x20a\x20response\x20to\x20a\x20BlockstoreqRequest\n\n\x0b\n\ - \x03\x04\t\x01\x12\x04\xd5\x01\x08\x1a\n@\n\x04\x04\t\x02\0\x12\x04\xd7\ - \x01\x04\x1e\x1a2\x20indicates\x20the\x20particular\x20request\x20type\ - \x20being\x20made\n\n\x0f\n\x05\x04\t\x02\0\x04\x12\x06\xd7\x01\x04\xd5\ - \x01\x1c\n\r\n\x05\x04\t\x02\0\x06\x12\x04\xd7\x01\x04\r\n\r\n\x05\x04\t\ - \x02\0\x01\x12\x04\xd7\x01\x0e\x19\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xd7\ - \x01\x1c\x1d\n\xf7\x02\n\x04\x04\t\x02\x01\x12\x04\xe1\x01\x04\x1e\x1a\ - \xe8\x02\x20a\x20copy\x20of\x20blocks\x20from\x20the\x20blockstore\n\x20\ - sent\x20by:\x20BS_PUT,\x20BS_PUT_MANY,\x20BS_GET,\x20BS_GET_MANY,\x20BS_\ - GET_STATS,\x20BS_GET_ALL\n\n\x20in\x20the\x20case\x20of\x20BS_PUT,\x20an\ - d\x20BS_PUT_MANY\x20requests\n\x20the\x20data\x20field\x20will\x20be\x20\ - empty\x20as\x20this\x20is\x20only\x20populated\n\x20by\x20get\x20request\ - s\n\n\x20in\x20the\x20case\x20of\x20BS_GET_STATS\x20only\x20the\x20cid,\ - \x20and\x20size\x20params\n\x20will\x20be\x20filled\x20out,\x20since\x20\ - we\x20are\x20just\x20interested\x20in\x20the\x20size\n\n\r\n\x05\x04\t\ - \x02\x01\x04\x12\x04\xe1\x01\x04\x0c\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\ - \xe1\x01\r\x12\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xe1\x01\x13\x19\n\r\n\ - \x05\x04\t\x02\x01\x03\x12\x04\xe1\x01\x1c\x1d\n\x0c\n\x02\x04\n\x12\x06\ - \xe4\x01\0\xed\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\xe4\x01\x08\r\n2\n\ - \x04\x04\n\x02\0\x12\x04\xe6\x01\x04\x13\x1a$\x20cid\x20is\x20the\x20ide\ - ntifier\x20of\x20the\x20block\n\n\x0f\n\x05\x04\n\x02\0\x04\x12\x06\xe6\ - \x01\x04\xe4\x01\x0f\n\r\n\x05\x04\n\x02\0\x05\x12\x04\xe6\x01\x04\n\n\r\ - \n\x05\x04\n\x02\0\x01\x12\x04\xe6\x01\x0b\x0e\n\r\n\x05\x04\n\x02\0\x03\ - \x12\x04\xe6\x01\x11\x12\n8\n\x04\x04\n\x02\x01\x12\x04\xe8\x01\x04\x13\ - \x1a*\x20data\x20is\x20the\x20actual\x20contents\x20of\x20the\x20block\n\ - \n\x0f\n\x05\x04\n\x02\x01\x04\x12\x06\xe8\x01\x04\xe6\x01\x13\n\r\n\x05\ - \x04\n\x02\x01\x05\x12\x04\xe8\x01\x04\t\n\r\n\x05\x04\n\x02\x01\x01\x12\ - \x04\xe8\x01\n\x0e\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xe8\x01\x11\x12\n\ - \x89\x01\n\x04\x04\n\x02\x02\x12\x04\xec\x01\x04\x13\x1a{\x20size\x20of\ - \x20the\x20block,\x20only\x20filled\x20out\x20by\x20BS_GET_STATS\n\x20si\ - nce\x20if\x20we\x20just\x20want\x20stats,\x20we\x20dont\x20want\x20to\ - \x20\n\x20retrieve\x20all\x20the\x20data.\n\n\x0f\n\x05\x04\n\x02\x02\ - \x04\x12\x06\xec\x01\x04\xe8\x01\x13\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\ - \xec\x01\x04\t\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xec\x01\n\x0e\n\r\n\ - \x05\x04\n\x02\x02\x03\x12\x04\xec\x01\x11\x12\nR\n\x02\x05\x06\x12\x06\ - \xf0\x01\0\xfd\x01\x01\x1aD\x20DAGREQTYPE\x20indicates\x20the\x20particu\ - lar\x20DagAPI\x20request\x20being\x20performed\n\n\x0b\n\x03\x05\x06\x01\ - \x12\x04\xf0\x01\x05\x0f\n7\n\x04\x05\x06\x02\0\x12\x04\xf2\x01\x04\x10\ - \x1a)\x20DAG_PUT\x20is\x20used\x20to\x20add\x20new\x20IPLD\x20objects\n\ - \n\r\n\x05\x05\x06\x02\0\x01\x12\x04\xf2\x01\x04\x0b\n\r\n\x05\x05\x06\ - \x02\0\x02\x12\x04\xf2\x01\x0e\x0f\n<\n\x04\x05\x06\x02\x01\x12\x04\xf4\ - \x01\x04\x10\x1a.\x20DAG_GET\x20is\x20used\x20to\x20retrieve\x20IPLD\x20\ - object\x20data\n\n\r\n\x05\x05\x06\x02\x01\x01\x12\x04\xf4\x01\x04\x0b\n\ - \r\n\x05\x05\x06\x02\x01\x02\x12\x04\xf4\x01\x0e\x0f\nE\n\x04\x05\x06\ - \x02\x02\x12\x04\xf6\x01\x04\x15\x1a7\x20DAG_NEW_NODE\x20is\x20used\x20t\ - o\x20create\x20a\x20new\x20IPLD\x20node\x20object\n\n\r\n\x05\x05\x06\ - \x02\x02\x01\x12\x04\xf6\x01\x04\x10\n\r\n\x05\x05\x06\x02\x02\x02\x12\ - \x04\xf6\x01\x13\x14\nI\n\x04\x05\x06\x02\x03\x12\x04\xf8\x01\x04\x16\ - \x1a;\x20DAG_ADD_LINKS\x20is\x20used\x20to\x20add\x20links\x20to\x20an\ - \x20IPLD\x20node\x20object\n\n\r\n\x05\x05\x06\x02\x03\x01\x12\x04\xf8\ - \x01\x04\x11\n\r\n\x05\x05\x06\x02\x03\x02\x12\x04\xf8\x01\x14\x15\n\\\n\ - \x04\x05\x06\x02\x04\x12\x04\xfa\x01\x04\x16\x1aN\x20DAG_GET_LINKS\x20is\ - \x20used\x20to\x20retrieve\x20all\x20links\x20contained\x20in\x20an\x20I\ - PLD\x20node\x20object\n\n\r\n\x05\x05\x06\x02\x04\x01\x12\x04\xfa\x01\ - \x04\x11\n\r\n\x05\x05\x06\x02\x04\x02\x12\x04\xfa\x01\x14\x15\nG\n\x04\ - \x05\x06\x02\x05\x12\x04\xfc\x01\x04\x11\x1a9\x20DAG_STAT\x20is\x20used\ - \x20to\x20retrieve\x20ipld.NodeStats\x20information\n\n\r\n\x05\x05\x06\ - \x02\x05\x01\x12\x04\xfc\x01\x04\x0c\n\r\n\x05\x05\x06\x02\x05\x02\x12\ - \x04\xfc\x01\x0f\x10\nA\n\x02\x04\x0b\x12\x06\x80\x02\0\x99\x02\x01\x1a3\ - \x20Used\x20to\x20submit\x20a\x20request\x20to\x20Dag\x20or\x20DagStream\ - \x20RPCs\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x80\x02\x08\x12\nQ\n\x04\x04\ - \x0b\x02\0\x12\x04\x83\x02\x04\x1f\x1aC\x20indicates\x20the\x20request\ - \x20being\x20performed\n\x20sent\x20by:\x20all\x20request\x20types\n\n\ - \x0f\n\x05\x04\x0b\x02\0\x04\x12\x06\x83\x02\x04\x80\x02\x14\n\r\n\x05\ - \x04\x0b\x02\0\x06\x12\x04\x83\x02\x04\x0e\n\r\n\x05\x04\x0b\x02\0\x01\ - \x12\x04\x83\x02\x0f\x1a\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\x83\x02\x1d\ - \x1e\nL\n\x04\x04\x0b\x02\x01\x12\x04\x86\x02\x04\x13\x1a>\x20data\x20th\ - at\x20we\x20will\x20be\x20storing\n\x20sent\x20by:\x20DAG_PUT,\x20DAG_NE\ - W_NODE\n\n\x0f\n\x05\x04\x0b\x02\x01\x04\x12\x06\x86\x02\x04\x83\x02\x1f\ - \n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\x86\x02\x04\t\n\r\n\x05\x04\x0b\ - \x02\x01\x01\x12\x04\x86\x02\n\x0e\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\ - \x86\x02\x11\x12\nX\n\x04\x04\x0b\x02\x02\x12\x04\x89\x02\x04\x1e\x1aJ\ - \x20the\x20object\x20encoding\x20type\x20(raw,\x20cbor,\x20protobuf,\x20\ - etc...)\n\x20sent\x20by:\x20DAG_PUT\n\n\x0f\n\x05\x04\x0b\x02\x02\x04\ - \x12\x06\x89\x02\x04\x86\x02\x13\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\ - \x89\x02\x04\n\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\x89\x02\x0b\x19\n\r\ - \n\x05\x04\x0b\x02\x02\x03\x12\x04\x89\x02\x1c\x1d\nX\n\x04\x04\x0b\x02\ - \x03\x12\x04\x8c\x02\x04#\x1aJ\x20the\x20serialization\x20format\x20(raw\ - ,\x20cbor,\x20protobuf,\x20etc...)\n\x20sent\x20by:\x20DAG_PUT\n\n\x0f\n\ - \x05\x04\x0b\x02\x03\x04\x12\x06\x8c\x02\x04\x89\x02\x1e\n\r\n\x05\x04\ - \x0b\x02\x03\x05\x12\x04\x8c\x02\x04\n\n\r\n\x05\x04\x0b\x02\x03\x01\x12\ - \x04\x8c\x02\x0b\x1e\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x8c\x02!\"\nw\ - \n\x04\x04\x0b\x02\x04\x12\x04\x8f\x02\x04\x18\x1ai\x20the\x20hash\x20fu\ - nction\x20to\x20to\x20use\x20(sha2-256,\x20sha3-512,\x20etc...)\n\x20sen\ - t\x20by:\x20DAG_PUT,\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS\n\n\x0f\n\x05\x04\ - \x0b\x02\x04\x04\x12\x06\x8f\x02\x04\x8c\x02#\n\r\n\x05\x04\x0b\x02\x04\ - \x05\x12\x04\x8f\x02\x04\n\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\x8f\x02\ - \x0b\x13\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\x8f\x02\x16\x17\nM\n\x04\ - \x04\x0b\x02\x05\x12\x04\x92\x02\x04\x19\x1a?\x20the\x20cid\x20version\ - \x20to\x20use\x20(0,\x201)\n\x20sent\x20by:\x20DAG_PUT,\x20DAG_NEW_NODE\ - \n\n\x0f\n\x05\x04\x0b\x02\x05\x04\x12\x06\x92\x02\x04\x8f\x02\x18\n\r\n\ - \x05\x04\x0b\x02\x05\x05\x12\x04\x92\x02\x04\t\n\r\n\x05\x04\x0b\x02\x05\ - \x01\x12\x04\x92\x02\n\x14\n\r\n\x05\x04\x0b\x02\x05\x03\x12\x04\x92\x02\ - \x17\x18\nv\n\x04\x04\x0b\x02\x06\x12\x04\x95\x02\x04\x14\x1ah\x20the\ - \x20hash\x20of\x20the\x20object\x20we\x20are\x20processing\n\x20sent\x20\ - by:\x20DAG_GET,\x20DAG_NEW_NODe,\x20DAG_ADD_LINKS,\x20DAG_GET_LINKS\n\n\ - \x0f\n\x05\x04\x0b\x02\x06\x04\x12\x06\x95\x02\x04\x92\x02\x19\n\r\n\x05\ - \x04\x0b\x02\x06\x05\x12\x04\x95\x02\x04\n\n\r\n\x05\x04\x0b\x02\x06\x01\ - \x12\x04\x95\x02\x0b\x0f\n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\x95\x02\ - \x12\x13\nt\n\x04\x04\x0b\x02\x07\x12\x04\x98\x02\x04\"\x1af\x20indicate\ - s\x20links\x20and\x20their\x20names.\x20key\x20=\x20name,\x20value\x20=\ - \x20link\x20hash\n\x20sent\x20by:\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS\n\n\ - \x0f\n\x05\x04\x0b\x02\x07\x04\x12\x06\x98\x02\x04\x95\x02\x14\n\r\n\x05\ - \x04\x0b\x02\x07\x06\x12\x04\x98\x02\x04\x17\n\r\n\x05\x04\x0b\x02\x07\ - \x01\x12\x04\x98\x02\x18\x1d\n\r\n\x05\x04\x0b\x02\x07\x03\x12\x04\x98\ - \x02\x20!\n:\n\x02\x04\x0c\x12\x06\x9c\x02\0\xac\x02\x01\x1a,\x20Used\ - \x20in\x20response\x20to\x20a\x20Dag\x20or\x20DagStream\x20RPC\n\n\x0b\n\ - \x03\x04\x0c\x01\x12\x04\x9c\x02\x08\x13\nQ\n\x04\x04\x0c\x02\0\x12\x04\ - \x9f\x02\x04\x1f\x1aC\x20indicates\x20the\x20request\x20being\x20perform\ - ed\n\x20sent\x20by:\x20all\x20request\x20types\n\n\x0f\n\x05\x04\x0c\x02\ - \0\x04\x12\x06\x9f\x02\x04\x9c\x02\x15\n\r\n\x05\x04\x0c\x02\0\x06\x12\ - \x04\x9f\x02\x04\x0e\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\x9f\x02\x0f\x1a\ - \n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\x9f\x02\x1d\x1e\n\x80\x01\n\x04\x04\ - \x0c\x02\x01\x12\x04\xa2\x02\x04\x1f\x1ar\x20returns\x20the\x20hashes\ - \x20of\x20newly\x20generated\x20IPLD\x20objects\n\x20sent\x20by:\x20DAG_\ - PUT,\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS,\x20DAG_GET_LINKS\n\n\r\n\x05\x04\ - \x0c\x02\x01\x04\x12\x04\xa2\x02\x04\x0c\n\r\n\x05\x04\x0c\x02\x01\x05\ - \x12\x04\xa2\x02\r\x13\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa2\x02\x14\ - \x1a\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xa2\x02\x1d\x1e\nN\n\x04\x04\ - \x0c\x02\x02\x12\x04\xa5\x02\x04\x16\x1a@\x20the\x20actual\x20data\x20co\ - ntained\x20by\x20the\x20IPLD\x20object\n\x20sent\x20by:\x20DAG_GET\n\n\ - \x0f\n\x05\x04\x0c\x02\x02\x04\x12\x06\xa5\x02\x04\xa2\x02\x1f\n\r\n\x05\ - \x04\x0c\x02\x02\x05\x12\x04\xa5\x02\x04\t\n\r\n\x05\x04\x0c\x02\x02\x01\ - \x12\x04\xa5\x02\n\x11\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xa5\x02\x14\ - \x15\nV\n\x04\x04\x0c\x02\x03\x12\x04\xa8\x02\x04\x20\x1aH\x20the\x20lin\ - ks\x20contained\x20within\x20an\x20IPLD\x20node\x20object\n\x20sent\x20b\ - y:\x20DAG_GET_LINKS\n\n\r\n\x05\x04\x0c\x02\x03\x04\x12\x04\xa8\x02\x04\ - \x0c\n\r\n\x05\x04\x0c\x02\x03\x06\x12\x04\xa8\x02\r\x15\n\r\n\x05\x04\ - \x0c\x02\x03\x01\x12\x04\xa8\x02\x16\x1b\n\r\n\x05\x04\x0c\x02\x03\x03\ - \x12\x04\xa8\x02\x1e\x1f\nV\n\x04\x04\x0c\x02\x04\x12\x04\xab\x02\x04(\ - \x1aH\x20maps\x20ipld\x20cids\x20to\x20a\x20ipld.NodeStat\x20object\x20e\ - quivalent\n\x20sent\x20by:\x20DAG_STAT\n\n\x0f\n\x05\x04\x0c\x02\x04\x04\ - \x12\x06\xab\x02\x04\xa8\x02\x20\n\r\n\x05\x04\x0c\x02\x04\x06\x12\x04\ - \xab\x02\x04\x19\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xab\x02\x1a#\n\r\ - \n\x05\x04\x0c\x02\x04\x03\x12\x04\xab\x02&'\ny\n\x02\x04\r\x12\x06\xb0\ - \x02\0\xbb\x02\x01\x1ak\x20IPLDStat\x20is\x20statistics\x20about\x20an\ - \x20individual\x20dag\x20node\n\x20it\x20is\x20a\x20protocol\x20buffer\ - \x20wrapper\x20around\x20ipld.NodeStat\n\n\x0b\n\x03\x04\r\x01\x12\x04\ - \xb0\x02\x08\x10\n-\n\x04\x04\r\x02\0\x12\x04\xb2\x02\x04\x17\x1a\x1f\ - \x20number\x20of\x20links\x20in\x20link\x20table\n\n\x0f\n\x05\x04\r\x02\ - \0\x04\x12\x06\xb2\x02\x04\xb0\x02\x12\n\r\n\x05\x04\r\x02\0\x05\x12\x04\ - \xb2\x02\x04\t\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xb2\x02\n\x12\n\r\n\x05\ - \x04\r\x02\0\x03\x12\x04\xb2\x02\x15\x16\n-\n\x04\x04\r\x02\x01\x12\x04\ - \xb4\x02\x04\x18\x1a\x1f\x20size\x20of\x20the\x20raw,\x20encoded\x20data\ - \n\n\x0f\n\x05\x04\r\x02\x01\x04\x12\x06\xb4\x02\x04\xb2\x02\x17\n\r\n\ - \x05\x04\r\x02\x01\x05\x12\x04\xb4\x02\x04\t\n\r\n\x05\x04\r\x02\x01\x01\ - \x12\x04\xb4\x02\n\x13\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xb4\x02\x16\ - \x17\n)\n\x04\x04\r\x02\x02\x12\x04\xb6\x02\x04\x17\x1a\x1b\x20size\x20o\ - f\x20the\x20links\x20segment\n\n\x0f\n\x05\x04\r\x02\x02\x04\x12\x06\xb6\ - \x02\x04\xb4\x02\x18\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xb6\x02\x04\t\n\ - \r\n\x05\x04\r\x02\x02\x01\x12\x04\xb6\x02\n\x12\n\r\n\x05\x04\r\x02\x02\ - \x03\x12\x04\xb6\x02\x15\x16\n<\n\x04\x04\r\x02\x03\x12\x04\xb8\x02\x04\ - \x1d\x1a.\x20cumulative\x20size\x20of\x20object\x20and\x20its\x20referen\ - ces\n\n\x0f\n\x05\x04\r\x02\x03\x04\x12\x06\xb8\x02\x04\xb6\x02\x17\n\r\ - \n\x05\x04\r\x02\x03\x05\x12\x04\xb8\x02\x04\t\n\r\n\x05\x04\r\x02\x03\ - \x01\x12\x04\xb8\x02\n\x18\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\xb8\x02\ - \x1b\x1c\n(\n\x04\x04\r\x02\x04\x12\x04\xba\x02\x04\x17\x1a\x1a\x20size\ - \x20of\x20the\x20data\x20segment\n\n\x0f\n\x05\x04\r\x02\x04\x04\x12\x06\ - \xba\x02\x04\xb8\x02\x1d\n\r\n\x05\x04\r\x02\x04\x05\x12\x04\xba\x02\x04\ - \t\n\r\n\x05\x04\r\x02\x04\x01\x12\x04\xba\x02\n\x12\n\r\n\x05\x04\r\x02\ - \x04\x03\x12\x04\xba\x02\x15\x16\n&\n\x02\x04\x0e\x12\x06\xbe\x02\0\xc5\ - \x02\x01\x1a\x18\x20An\x20IPFS\x20MerkleDAG\x20Link\n\n\x0b\n\x03\x04\ - \x0e\x01\x12\x04\xbe\x02\x08\x10\n.\n\x04\x04\x0e\x02\0\x12\x04\xc0\x02\ - \x04\x13\x1a\x20\x20multihash\x20of\x20the\x20target\x20object\n\n\x0f\n\ - \x05\x04\x0e\x02\0\x04\x12\x06\xc0\x02\x04\xbe\x02\x12\n\r\n\x05\x04\x0e\ - \x02\0\x05\x12\x04\xc0\x02\x04\t\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xc0\ - \x02\n\x0e\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xc0\x02\x11\x12\n<\n\x04\ - \x04\x0e\x02\x01\x12\x04\xc2\x02\x04\x14\x1a.\x20utf\x20string\x20name.\ - \x20should\x20be\x20unique\x20per\x20object\n\n\x0f\n\x05\x04\x0e\x02\ - \x01\x04\x12\x06\xc2\x02\x04\xc0\x02\x13\n\r\n\x05\x04\x0e\x02\x01\x05\ - \x12\x04\xc2\x02\x04\n\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xc2\x02\x0b\ - \x0f\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xc2\x02\x12\x13\n0\n\x04\x04\ - \x0e\x02\x02\x12\x04\xc4\x02\x04\x14\x1a\"\x20cumulative\x20size\x20of\ - \x20target\x20object\n\n\x0f\n\x05\x04\x0e\x02\x02\x04\x12\x06\xc4\x02\ - \x04\xc2\x02\x14\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xc4\x02\x04\n\n\r\ - \n\x05\x04\x0e\x02\x02\x01\x12\x04\xc4\x02\x0b\x0f\n\r\n\x05\x04\x0e\x02\ - \x02\x03\x12\x04\xc4\x02\x12\x13\n&\n\x02\x04\x0f\x12\x06\xc8\x02\0\xcd\ - \x02\x01\x1a\x18\x20An\x20IPFS\x20MerkleDAG\x20Node\n\n\x0b\n\x03\x04\ - \x0f\x01\x12\x04\xc8\x02\x08\x10\n%\n\x04\x04\x0f\x02\0\x12\x04\xca\x02\ - \x04\x20\x1a\x17\x20refs\x20to\x20other\x20objects\n\n\r\n\x05\x04\x0f\ - \x02\0\x04\x12\x04\xca\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\0\x06\x12\x04\ - \xca\x02\r\x15\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xca\x02\x16\x1b\n\r\n\ - \x05\x04\x0f\x02\0\x03\x12\x04\xca\x02\x1e\x1f\n\x20\n\x04\x04\x0f\x02\ - \x01\x12\x04\xcc\x02\x04\x13\x1a\x12\x20opaque\x20user\x20data\n\n\x0f\n\ - \x05\x04\x0f\x02\x01\x04\x12\x06\xcc\x02\x04\xca\x02\x20\n\r\n\x05\x04\ - \x0f\x02\x01\x05\x12\x04\xcc\x02\x04\t\n\r\n\x05\x04\x0f\x02\x01\x01\x12\ - \x04\xcc\x02\n\x0e\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xcc\x02\x11\x12\ - \nV\n\x02\x05\x07\x12\x06\xd0\x02\0\xdb\x02\x01\x1aH\x20KSREQTYPE\x20ind\ + blockstores\r\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xc1\x01\x08\x19\nB\n\x04\ + \x04\x08\x02\0\x12\x04\xc3\x01\x04\x1e\x1a4\x20\x20indicates\x20the\x20p\ + articular\x20request\x20type\x20being\x20made\r\n\n\x0f\n\x05\x04\x08\ + \x02\0\x04\x12\x06\xc3\x01\x04\xc1\x01\x1b\n\r\n\x05\x04\x08\x02\0\x06\ + \x12\x04\xc3\x01\x04\r\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xc3\x01\x0e\ + \x19\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xc3\x01\x1c\x1d\n*\n\x04\x04\ + \x08\x02\x01\x12\x04\xc5\x01\x04#\x1a\x1c\x20optional\x20request\x20sett\ + ings\r\n\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\xc5\x01\x04\x0c\n\r\n\x05\ + \x04\x08\x02\x01\x06\x12\x04\xc5\x01\r\x16\n\r\n\x05\x04\x08\x02\x01\x01\ + \x12\x04\xc5\x01\x17\x1e\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xc5\x01!\ + \"\nW\n\x04\x04\x08\x02\x02\x12\x04\xc8\x01\x04\x1d\x1aI\x20cids\x20of\ + \x20blocks\r\n\x20sent\x20by:\x20BS_DELETE,\x20BS_GET,\x20BS_GET_MANY,\ + \x20BS_GET_STATS\r\n\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xc8\x01\x04\ + \x0c\n\r\n\x05\x04\x08\x02\x02\x05\x12\x04\xc8\x01\r\x13\n\r\n\x05\x04\ + \x08\x02\x02\x01\x12\x04\xc8\x01\x14\x18\n\r\n\x05\x04\x08\x02\x02\x03\ + \x12\x04\xc8\x01\x1b\x1c\nG\n\x04\x04\x08\x02\x03\x12\x04\xcb\x01\x04\ + \x1c\x1a9\x20the\x20data\x20we\x20are\x20putting\r\n\x20sent\x20by:\x20B\ + S_PUT,\x20BS_PUT_MANY\r\n\n\r\n\x05\x04\x08\x02\x03\x04\x12\x04\xcb\x01\ + \x04\x0c\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\xcb\x01\r\x12\n\r\n\x05\ + \x04\x08\x02\x03\x01\x12\x04\xcb\x01\x13\x17\n\r\n\x05\x04\x08\x02\x03\ + \x03\x12\x04\xcb\x01\x1a\x1b\nn\n\x04\x04\x08\x02\x04\x12\x04\xce\x01\ + \x04\x1a\x1a`\x20the\x20cid\x20version\x20to\x20use\x20when\x20construct\ + ing\x20blocks,\x20default\x20is\x20v1\r\n\x20sent\x20by:\x20BS_PUT,\x20B\ + S_PUT_MANY\r\n\n\x0f\n\x05\x04\x08\x02\x04\x04\x12\x06\xce\x01\x04\xcb\ + \x01\x1c\n\r\n\x05\x04\x08\x02\x04\x05\x12\x04\xce\x01\x04\n\n\r\n\x05\ + \x04\x08\x02\x04\x01\x12\x04\xce\x01\x0b\x15\n\r\n\x05\x04\x08\x02\x04\ + \x03\x12\x04\xce\x01\x18\x19\nv\n\x04\x04\x08\x02\x05\x12\x04\xd1\x01\ + \x04\x18\x1ah\x20the\x20hash\x20function\x20to\x20use\x20when\x20constru\ + cting\x20blocks,\x20default\x20is\x20sha2-256\r\n\x20sent\x20by:\x20BS_P\ + UT,\x20BS_PUT_MANY\r\n\n\x0f\n\x05\x04\x08\x02\x05\x04\x12\x06\xd1\x01\ + \x04\xce\x01\x1a\n\r\n\x05\x04\x08\x02\x05\x05\x12\x04\xd1\x01\x04\n\n\r\ + \n\x05\x04\x08\x02\x05\x01\x12\x04\xd1\x01\x0b\x13\n\r\n\x05\x04\x08\x02\ + \x05\x03\x12\x04\xd1\x01\x16\x17\n\xb3\x02\n\x04\x04\x08\x02\x06\x12\x04\ + \xd6\x01\x04\x15\x1a\xa4\x02\x20reference\x20ID\x20to\x20mark\x20the\x20\ + blocks\x20of\x20this\x20operation\x20with\r\n\x20when\x20sent\x20by\x20B\ + S_PUT,\x20BS_PUT_MANY:\x20only\x20put\x20if\x20the\x20id\x20is\x20not\ + \x20marked\x20on\x20block,\x20otherwise\x20noop\r\n\x20when\x20sent\x20b\ + y\x20BS_GET,\x20BS_GET_MANY:\x20only\x20get\x20if\x20the\x20id\x20is\x20\ + marked\x20on\x20block\r\n\x20when\x20sent\x20by\x20BS_DELETE:\x20only\ + \x20delete\x20if\x20the\x20id\x20is\x20marked\x20on\x20block\r\n\n\x0f\n\ + \x05\x04\x08\x02\x06\x04\x12\x06\xd6\x01\x04\xd1\x01\x18\n\r\n\x05\x04\ + \x08\x02\x06\x05\x12\x04\xd6\x01\x04\n\n\r\n\x05\x04\x08\x02\x06\x01\x12\ + \x04\xd6\x01\x0b\x10\n\r\n\x05\x04\x08\x02\x06\x03\x12\x04\xd6\x01\x13\ + \x14\n;\n\x04\x04\x08\x02\x07\x12\x04\xd8\x01\x04\x19\x1a-\x20if\x20refI\ + D\x20is\x20set,\x20allows\x20progressive\x20upload\r\n\n\x0f\n\x05\x04\ + \x08\x02\x07\x04\x12\x06\xd8\x01\x04\xd6\x01\x15\n\r\n\x05\x04\x08\x02\ + \x07\x05\x12\x04\xd8\x01\x04\x08\n\r\n\x05\x04\x08\x02\x07\x01\x12\x04\ + \xd8\x01\t\x14\n\r\n\x05\x04\x08\x02\x07\x03\x12\x04\xd8\x01\x17\x18\nH\ + \n\x02\x04\t\x12\x06\xdc\x01\0\xe9\x01\x01\x1a:\x20BlockstoreResponse\ + \x20is\x20a\x20response\x20to\x20a\x20BlockstoreRequest\r\n\n\x0b\n\x03\ + \x04\t\x01\x12\x04\xdc\x01\x08\x1a\nA\n\x04\x04\t\x02\0\x12\x04\xde\x01\ + \x04\x1e\x1a3\x20indicates\x20the\x20particular\x20request\x20type\x20be\ + ing\x20made\r\n\n\x0f\n\x05\x04\t\x02\0\x04\x12\x06\xde\x01\x04\xdc\x01\ + \x1c\n\r\n\x05\x04\t\x02\0\x06\x12\x04\xde\x01\x04\r\n\r\n\x05\x04\t\x02\ + \0\x01\x12\x04\xde\x01\x0e\x19\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xde\x01\ + \x1c\x1d\n\x80\x03\n\x04\x04\t\x02\x01\x12\x04\xe8\x01\x04\x1e\x1a\xf1\ + \x02\x20a\x20copy\x20of\x20blocks\x20from\x20the\x20blockstore\r\n\x20se\ + nt\x20by:\x20BS_PUT,\x20BS_PUT_MANY,\x20BS_GET,\x20BS_GET_MANY,\x20BS_GE\ + T_STATS,\x20BS_GET_ALL\r\n\r\n\x20in\x20the\x20case\x20of\x20BS_PUT,\x20\ + and\x20BS_PUT_MANY\x20requests\r\n\x20the\x20data\x20field\x20will\x20be\ + \x20empty\x20as\x20this\x20is\x20only\x20populated\r\n\x20by\x20get\x20r\ + equests\r\n\r\n\x20in\x20the\x20case\x20of\x20BS_GET_STATS\x20only\x20th\ + e\x20cid,\x20and\x20size\x20params\r\n\x20will\x20be\x20filled\x20out,\ + \x20since\x20we\x20are\x20just\x20interested\x20in\x20the\x20size\r\n\n\ + \r\n\x05\x04\t\x02\x01\x04\x12\x04\xe8\x01\x04\x0c\n\r\n\x05\x04\t\x02\ + \x01\x06\x12\x04\xe8\x01\r\x12\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xe8\ + \x01\x13\x19\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xe8\x01\x1c\x1d\n\x0c\n\ + \x02\x04\n\x12\x06\xeb\x01\0\xf4\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\ + \xeb\x01\x08\r\n3\n\x04\x04\n\x02\0\x12\x04\xed\x01\x04\x13\x1a%\x20cid\ + \x20is\x20the\x20identifier\x20of\x20the\x20block\r\n\n\x0f\n\x05\x04\n\ + \x02\0\x04\x12\x06\xed\x01\x04\xeb\x01\x0f\n\r\n\x05\x04\n\x02\0\x05\x12\ + \x04\xed\x01\x04\n\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xed\x01\x0b\x0e\n\r\ + \n\x05\x04\n\x02\0\x03\x12\x04\xed\x01\x11\x12\n9\n\x04\x04\n\x02\x01\ + \x12\x04\xef\x01\x04\x13\x1a+\x20data\x20is\x20the\x20actual\x20contents\ + \x20of\x20the\x20block\r\n\n\x0f\n\x05\x04\n\x02\x01\x04\x12\x06\xef\x01\ + \x04\xed\x01\x13\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xef\x01\x04\t\n\r\n\ + \x05\x04\n\x02\x01\x01\x12\x04\xef\x01\n\x0e\n\r\n\x05\x04\n\x02\x01\x03\ + \x12\x04\xef\x01\x11\x12\n\x8d\x01\n\x04\x04\n\x02\x02\x12\x04\xf3\x01\ + \x04\x13\x1a\x7f\x20size\x20of\x20the\x20block,\x20only\x20filled\x20out\ + \x20by\x20BS_GET_STATS\r\n\x20since\x20if\x20we\x20just\x20want\x20stats\ + ,\x20we\x20don't\x20want\x20to\x20\r\n\x20retrieve\x20all\x20the\x20data\ + .\r\n\n\x0f\n\x05\x04\n\x02\x02\x04\x12\x06\xf3\x01\x04\xef\x01\x13\n\r\ + \n\x05\x04\n\x02\x02\x05\x12\x04\xf3\x01\x04\t\n\r\n\x05\x04\n\x02\x02\ + \x01\x12\x04\xf3\x01\n\x0e\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xf3\x01\ + \x11\x12\nS\n\x02\x05\x06\x12\x06\xf7\x01\0\x86\x02\x01\x1aE\x20DAGREQTY\ + PE\x20indicates\x20the\x20particular\x20DagAPI\x20request\x20being\x20pe\ + rformed\r\n\n\x0b\n\x03\x05\x06\x01\x12\x04\xf7\x01\x05\x0f\n8\n\x04\x05\ + \x06\x02\0\x12\x04\xf9\x01\x04\x10\x1a*\x20DAG_PUT\x20is\x20used\x20to\ + \x20add\x20new\x20IPLD\x20objects\r\n\n\r\n\x05\x05\x06\x02\0\x01\x12\ + \x04\xf9\x01\x04\x0b\n\r\n\x05\x05\x06\x02\0\x02\x12\x04\xf9\x01\x0e\x0f\ + \n=\n\x04\x05\x06\x02\x01\x12\x04\xfb\x01\x04\x10\x1a/\x20DAG_GET\x20is\ + \x20used\x20to\x20retrieve\x20IPLD\x20object\x20data\r\n\n\r\n\x05\x05\ + \x06\x02\x01\x01\x12\x04\xfb\x01\x04\x0b\n\r\n\x05\x05\x06\x02\x01\x02\ + \x12\x04\xfb\x01\x0e\x0f\nF\n\x04\x05\x06\x02\x02\x12\x04\xfd\x01\x04\ + \x15\x1a8\x20DAG_NEW_NODE\x20is\x20used\x20to\x20create\x20a\x20new\x20I\ + PLD\x20node\x20object\r\n\n\r\n\x05\x05\x06\x02\x02\x01\x12\x04\xfd\x01\ + \x04\x10\n\r\n\x05\x05\x06\x02\x02\x02\x12\x04\xfd\x01\x13\x14\nJ\n\x04\ + \x05\x06\x02\x03\x12\x04\xff\x01\x04\x16\x1a<\x20DAG_ADD_LINKS\x20is\x20\ + used\x20to\x20add\x20links\x20to\x20an\x20IPLD\x20node\x20object\r\n\n\r\ + \n\x05\x05\x06\x02\x03\x01\x12\x04\xff\x01\x04\x11\n\r\n\x05\x05\x06\x02\ + \x03\x02\x12\x04\xff\x01\x14\x15\n]\n\x04\x05\x06\x02\x04\x12\x04\x81\ + \x02\x04\x16\x1aO\x20DAG_GET_LINKS\x20is\x20used\x20to\x20retrieve\x20al\ + l\x20links\x20contained\x20in\x20an\x20IPLD\x20node\x20object\r\n\n\r\n\ + \x05\x05\x06\x02\x04\x01\x12\x04\x81\x02\x04\x11\n\r\n\x05\x05\x06\x02\ + \x04\x02\x12\x04\x81\x02\x14\x15\nH\n\x04\x05\x06\x02\x05\x12\x04\x83\ + \x02\x04\x11\x1a:\x20DAG_STAT\x20is\x20used\x20to\x20retrieve\x20ipld.No\ + deStats\x20information\r\n\n\r\n\x05\x05\x06\x02\x05\x01\x12\x04\x83\x02\ + \x04\x0c\n\r\n\x05\x05\x06\x02\x05\x02\x12\x04\x83\x02\x0f\x10\n5\n\x04\ + \x05\x06\x02\x06\x12\x04\x85\x02\x04\x13\x1a'\x20DAG_REMOVE\x20is\x20the\ + \x20inverse\x20of\x20DAG_PUT\r\n\n\r\n\x05\x05\x06\x02\x06\x01\x12\x04\ + \x85\x02\x04\x0e\n\r\n\x05\x05\x06\x02\x06\x02\x12\x04\x85\x02\x11\x12\n\ + B\n\x02\x04\x0b\x12\x06\x89\x02\0\xa7\x02\x01\x1a4\x20Used\x20to\x20subm\ + it\x20a\x20request\x20to\x20Dag\x20or\x20DagStream\x20RPCs\r\n\n\x0b\n\ + \x03\x04\x0b\x01\x12\x04\x89\x02\x08\x12\nS\n\x04\x04\x0b\x02\0\x12\x04\ + \x8c\x02\x04\x1f\x1aE\x20indicates\x20the\x20request\x20being\x20perform\ + ed\r\n\x20sent\x20by:\x20all\x20request\x20types\r\n\n\x0f\n\x05\x04\x0b\ + \x02\0\x04\x12\x06\x8c\x02\x04\x89\x02\x14\n\r\n\x05\x04\x0b\x02\0\x06\ + \x12\x04\x8c\x02\x04\x0e\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\x8c\x02\x0f\ + \x1a\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\x8c\x02\x1d\x1e\nN\n\x04\x04\ + \x0b\x02\x01\x12\x04\x8f\x02\x04\x13\x1a@\x20data\x20that\x20we\x20will\ + \x20be\x20storing\r\n\x20sent\x20by:\x20DAG_PUT,\x20DAG_NEW_NODE\r\n\n\ + \x0f\n\x05\x04\x0b\x02\x01\x04\x12\x06\x8f\x02\x04\x8c\x02\x1f\n\r\n\x05\ + \x04\x0b\x02\x01\x05\x12\x04\x8f\x02\x04\t\n\r\n\x05\x04\x0b\x02\x01\x01\ + \x12\x04\x8f\x02\n\x0e\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\x8f\x02\x11\ + \x12\nZ\n\x04\x04\x0b\x02\x02\x12\x04\x92\x02\x04\x1e\x1aL\x20the\x20obj\ + ect\x20encoding\x20type\x20(raw,\x20cbor,\x20protobuf,\x20etc...)\r\n\ + \x20sent\x20by:\x20DAG_PUT\r\n\n\x0f\n\x05\x04\x0b\x02\x02\x04\x12\x06\ + \x92\x02\x04\x8f\x02\x13\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\x92\x02\ + \x04\n\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\x92\x02\x0b\x19\n\r\n\x05\ + \x04\x0b\x02\x02\x03\x12\x04\x92\x02\x1c\x1d\nZ\n\x04\x04\x0b\x02\x03\ + \x12\x04\x95\x02\x04#\x1aL\x20the\x20serialization\x20format\x20(raw,\ + \x20cbor,\x20protobuf,\x20etc...)\r\n\x20sent\x20by:\x20DAG_PUT\r\n\n\ + \x0f\n\x05\x04\x0b\x02\x03\x04\x12\x06\x95\x02\x04\x92\x02\x1e\n\r\n\x05\ + \x04\x0b\x02\x03\x05\x12\x04\x95\x02\x04\n\n\r\n\x05\x04\x0b\x02\x03\x01\ + \x12\x04\x95\x02\x0b\x1e\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x95\x02!\ + \"\ny\n\x04\x04\x0b\x02\x04\x12\x04\x98\x02\x04\x18\x1ak\x20the\x20hash\ + \x20function\x20to\x20to\x20use\x20(sha2-256,\x20sha3-512,\x20etc...)\r\ + \n\x20sent\x20by:\x20DAG_PUT,\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS\r\n\n\ + \x0f\n\x05\x04\x0b\x02\x04\x04\x12\x06\x98\x02\x04\x95\x02#\n\r\n\x05\ + \x04\x0b\x02\x04\x05\x12\x04\x98\x02\x04\n\n\r\n\x05\x04\x0b\x02\x04\x01\ + \x12\x04\x98\x02\x0b\x13\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\x98\x02\ + \x16\x17\nO\n\x04\x04\x0b\x02\x05\x12\x04\x9b\x02\x04\x19\x1aA\x20the\ + \x20cid\x20version\x20to\x20use\x20(0,\x201)\r\n\x20sent\x20by:\x20DAG_P\ + UT,\x20DAG_NEW_NODE\r\n\n\x0f\n\x05\x04\x0b\x02\x05\x04\x12\x06\x9b\x02\ + \x04\x98\x02\x18\n\r\n\x05\x04\x0b\x02\x05\x05\x12\x04\x9b\x02\x04\t\n\r\ + \n\x05\x04\x0b\x02\x05\x01\x12\x04\x9b\x02\n\x14\n\r\n\x05\x04\x0b\x02\ + \x05\x03\x12\x04\x9b\x02\x17\x18\n\x84\x01\n\x04\x04\x0b\x02\x06\x12\x04\ + \x9e\x02\x04\x14\x1av\x20the\x20hash\x20of\x20the\x20object\x20we\x20are\ + \x20processing\r\n\x20sent\x20by:\x20DAG_GET,\x20DAG_NEW_NODe,\x20DAG_AD\ + D_LINKS,\x20DAG_GET_LINKS,\x20DAG_REMOVE\r\n\n\x0f\n\x05\x04\x0b\x02\x06\ + \x04\x12\x06\x9e\x02\x04\x9b\x02\x19\n\r\n\x05\x04\x0b\x02\x06\x05\x12\ + \x04\x9e\x02\x04\n\n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\x9e\x02\x0b\x0f\ + \n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\x9e\x02\x12\x13\nv\n\x04\x04\x0b\ + \x02\x07\x12\x04\xa1\x02\x04\"\x1ah\x20indicates\x20links\x20and\x20thei\ + r\x20names.\x20key\x20=\x20name,\x20value\x20=\x20link\x20hash\r\n\x20se\ + nt\x20by:\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS\r\n\n\x0f\n\x05\x04\x0b\x02\ + \x07\x04\x12\x06\xa1\x02\x04\x9e\x02\x14\n\r\n\x05\x04\x0b\x02\x07\x06\ + \x12\x04\xa1\x02\x04\x17\n\r\n\x05\x04\x0b\x02\x07\x01\x12\x04\xa1\x02\ + \x18\x1d\n\r\n\x05\x04\x0b\x02\x07\x03\x12\x04\xa1\x02\x20!\n_\n\x04\x04\ + \x0b\x02\x08\x12\x04\xa4\x02\x04\x15\x1aQ\x20optional\x20reference\x20ID\ + \x20to\x20mark\x20the\x20cid/hash\x20with\r\n\x20sent\x20by:\x20DAG_PUT,\ + \x20DAG_REMOVE\r\n\n\x0f\n\x05\x04\x0b\x02\x08\x04\x12\x06\xa4\x02\x04\ + \xa1\x02\"\n\r\n\x05\x04\x0b\x02\x08\x05\x12\x04\xa4\x02\x04\n\n\r\n\x05\ + \x04\x0b\x02\x08\x01\x12\x04\xa4\x02\x0b\x10\n\r\n\x05\x04\x0b\x02\x08\ + \x03\x12\x04\xa4\x02\x13\x14\n;\n\x04\x04\x0b\x02\t\x12\x04\xa6\x02\x04\ + \x1a\x1a-\x20if\x20refID\x20is\x20set,\x20allows\x20progressive\x20uploa\ + d\r\n\n\x0f\n\x05\x04\x0b\x02\t\x04\x12\x06\xa6\x02\x04\xa4\x02\x15\n\r\ + \n\x05\x04\x0b\x02\t\x05\x12\x04\xa6\x02\x04\x08\n\r\n\x05\x04\x0b\x02\t\ + \x01\x12\x04\xa6\x02\t\x14\n\r\n\x05\x04\x0b\x02\t\x03\x12\x04\xa6\x02\ + \x17\x19\n;\n\x02\x04\x0c\x12\x06\xaa\x02\0\xbd\x02\x01\x1a-\x20Used\x20\ + in\x20response\x20to\x20a\x20Dag\x20or\x20DagStream\x20RPC\r\n\n\x0b\n\ + \x03\x04\x0c\x01\x12\x04\xaa\x02\x08\x13\nS\n\x04\x04\x0c\x02\0\x12\x04\ + \xad\x02\x04\x1f\x1aE\x20indicates\x20the\x20request\x20being\x20perform\ + ed\r\n\x20sent\x20by:\x20all\x20request\x20types\r\n\n\x0f\n\x05\x04\x0c\ + \x02\0\x04\x12\x06\xad\x02\x04\xaa\x02\x15\n\r\n\x05\x04\x0c\x02\0\x06\ + \x12\x04\xad\x02\x04\x0e\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\xad\x02\x0f\ + \x1a\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\xad\x02\x1d\x1e\n\x82\x01\n\x04\ + \x04\x0c\x02\x01\x12\x04\xb0\x02\x04\x1f\x1at\x20returns\x20the\x20hashe\ + s\x20of\x20newly\x20generated\x20IPLD\x20objects\r\n\x20sent\x20by:\x20D\ + AG_PUT,\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS,\x20DAG_GET_LINKS\r\n\n\r\n\ + \x05\x04\x0c\x02\x01\x04\x12\x04\xb0\x02\x04\x0c\n\r\n\x05\x04\x0c\x02\ + \x01\x05\x12\x04\xb0\x02\r\x13\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xb0\ + \x02\x14\x1a\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xb0\x02\x1d\x1e\nP\n\ + \x04\x04\x0c\x02\x02\x12\x04\xb3\x02\x04\x16\x1aB\x20the\x20actual\x20da\ + ta\x20contained\x20by\x20the\x20IPLD\x20object\r\n\x20sent\x20by:\x20DAG\ + _GET\r\n\n\x0f\n\x05\x04\x0c\x02\x02\x04\x12\x06\xb3\x02\x04\xb0\x02\x1f\ + \n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\xb3\x02\x04\t\n\r\n\x05\x04\x0c\ + \x02\x02\x01\x12\x04\xb3\x02\n\x11\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\ + \xb3\x02\x14\x15\nX\n\x04\x04\x0c\x02\x03\x12\x04\xb6\x02\x04\x20\x1aJ\ + \x20the\x20links\x20contained\x20within\x20an\x20IPLD\x20node\x20object\ + \r\n\x20sent\x20by:\x20DAG_GET_LINKS\r\n\n\r\n\x05\x04\x0c\x02\x03\x04\ + \x12\x04\xb6\x02\x04\x0c\n\r\n\x05\x04\x0c\x02\x03\x06\x12\x04\xb6\x02\r\ + \x15\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xb6\x02\x16\x1b\n\r\n\x05\x04\ + \x0c\x02\x03\x03\x12\x04\xb6\x02\x1e\x1f\nX\n\x04\x04\x0c\x02\x04\x12\ + \x04\xb9\x02\x04(\x1aJ\x20maps\x20ipld\x20cids\x20to\x20a\x20ipld.NodeSt\ + at\x20object\x20equivalent\r\n\x20sent\x20by:\x20DAG_STAT\r\n\n\x0f\n\ + \x05\x04\x0c\x02\x04\x04\x12\x06\xb9\x02\x04\xb6\x02\x20\n\r\n\x05\x04\ + \x0c\x02\x04\x06\x12\x04\xb9\x02\x04\x19\n\r\n\x05\x04\x0c\x02\x04\x01\ + \x12\x04\xb9\x02\x1a#\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xb9\x02&'\nR\ + \n\x04\x04\x0c\x02\x05\x12\x04\xbc\x02\x04\x15\x1aD\x20The\x20number\x20\ + of\x20removal\x20operations\x20performed.\r\n\x20sent\x20by:\x20DAG_REMO\ + VE\r\n\n\x0f\n\x05\x04\x0c\x02\x05\x04\x12\x06\xbc\x02\x04\xb9\x02(\n\r\ + \n\x05\x04\x0c\x02\x05\x05\x12\x04\xbc\x02\x04\n\n\r\n\x05\x04\x0c\x02\ + \x05\x01\x12\x04\xbc\x02\x0b\x10\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\ + \xbc\x02\x13\x14\n{\n\x02\x04\r\x12\x06\xc1\x02\0\xcc\x02\x01\x1am\x20IP\ + LDStat\x20is\x20statistics\x20about\x20an\x20individual\x20dag\x20node\r\ + \n\x20it\x20is\x20a\x20protocol\x20buffer\x20wrapper\x20around\x20ipld.N\ + odeStat\r\n\n\x0b\n\x03\x04\r\x01\x12\x04\xc1\x02\x08\x10\n.\n\x04\x04\r\ + \x02\0\x12\x04\xc3\x02\x04\x17\x1a\x20\x20number\x20of\x20links\x20in\ + \x20link\x20table\r\n\n\x0f\n\x05\x04\r\x02\0\x04\x12\x06\xc3\x02\x04\ + \xc1\x02\x12\n\r\n\x05\x04\r\x02\0\x05\x12\x04\xc3\x02\x04\t\n\r\n\x05\ + \x04\r\x02\0\x01\x12\x04\xc3\x02\n\x12\n\r\n\x05\x04\r\x02\0\x03\x12\x04\ + \xc3\x02\x15\x16\n.\n\x04\x04\r\x02\x01\x12\x04\xc5\x02\x04\x18\x1a\x20\ + \x20size\x20of\x20the\x20raw,\x20encoded\x20data\r\n\n\x0f\n\x05\x04\r\ + \x02\x01\x04\x12\x06\xc5\x02\x04\xc3\x02\x17\n\r\n\x05\x04\r\x02\x01\x05\ + \x12\x04\xc5\x02\x04\t\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xc5\x02\n\x13\ + \n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xc5\x02\x16\x17\n*\n\x04\x04\r\x02\ + \x02\x12\x04\xc7\x02\x04\x17\x1a\x1c\x20size\x20of\x20the\x20links\x20se\ + gment\r\n\n\x0f\n\x05\x04\r\x02\x02\x04\x12\x06\xc7\x02\x04\xc5\x02\x18\ + \n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xc7\x02\x04\t\n\r\n\x05\x04\r\x02\ + \x02\x01\x12\x04\xc7\x02\n\x12\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xc7\ + \x02\x15\x16\n=\n\x04\x04\r\x02\x03\x12\x04\xc9\x02\x04\x1d\x1a/\x20cumu\ + lative\x20size\x20of\x20object\x20and\x20its\x20references\r\n\n\x0f\n\ + \x05\x04\r\x02\x03\x04\x12\x06\xc9\x02\x04\xc7\x02\x17\n\r\n\x05\x04\r\ + \x02\x03\x05\x12\x04\xc9\x02\x04\t\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\ + \xc9\x02\n\x18\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\xc9\x02\x1b\x1c\n)\n\ + \x04\x04\r\x02\x04\x12\x04\xcb\x02\x04\x17\x1a\x1b\x20size\x20of\x20the\ + \x20data\x20segment\r\n\n\x0f\n\x05\x04\r\x02\x04\x04\x12\x06\xcb\x02\ + \x04\xc9\x02\x1d\n\r\n\x05\x04\r\x02\x04\x05\x12\x04\xcb\x02\x04\t\n\r\n\ + \x05\x04\r\x02\x04\x01\x12\x04\xcb\x02\n\x12\n\r\n\x05\x04\r\x02\x04\x03\ + \x12\x04\xcb\x02\x15\x16\n'\n\x02\x04\x0e\x12\x06\xcf\x02\0\xd6\x02\x01\ + \x1a\x19\x20An\x20IPFS\x20MerkleDAG\x20Link\r\n\n\x0b\n\x03\x04\x0e\x01\ + \x12\x04\xcf\x02\x08\x10\n/\n\x04\x04\x0e\x02\0\x12\x04\xd1\x02\x04\x13\ + \x1a!\x20multihash\x20of\x20the\x20target\x20object\r\n\n\x0f\n\x05\x04\ + \x0e\x02\0\x04\x12\x06\xd1\x02\x04\xcf\x02\x12\n\r\n\x05\x04\x0e\x02\0\ + \x05\x12\x04\xd1\x02\x04\t\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xd1\x02\n\ + \x0e\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xd1\x02\x11\x12\n=\n\x04\x04\ + \x0e\x02\x01\x12\x04\xd3\x02\x04\x14\x1a/\x20utf\x20string\x20name.\x20s\ + hould\x20be\x20unique\x20per\x20object\r\n\n\x0f\n\x05\x04\x0e\x02\x01\ + \x04\x12\x06\xd3\x02\x04\xd1\x02\x13\n\r\n\x05\x04\x0e\x02\x01\x05\x12\ + \x04\xd3\x02\x04\n\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xd3\x02\x0b\x0f\ + \n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xd3\x02\x12\x13\n1\n\x04\x04\x0e\ + \x02\x02\x12\x04\xd5\x02\x04\x14\x1a#\x20cumulative\x20size\x20of\x20tar\ + get\x20object\r\n\n\x0f\n\x05\x04\x0e\x02\x02\x04\x12\x06\xd5\x02\x04\ + \xd3\x02\x14\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xd5\x02\x04\n\n\r\n\ + \x05\x04\x0e\x02\x02\x01\x12\x04\xd5\x02\x0b\x0f\n\r\n\x05\x04\x0e\x02\ + \x02\x03\x12\x04\xd5\x02\x12\x13\n'\n\x02\x04\x0f\x12\x06\xd9\x02\0\xde\ + \x02\x01\x1a\x19\x20An\x20IPFS\x20MerkleDAG\x20Node\r\n\n\x0b\n\x03\x04\ + \x0f\x01\x12\x04\xd9\x02\x08\x10\n&\n\x04\x04\x0f\x02\0\x12\x04\xdb\x02\ + \x04\x20\x1a\x18\x20refs\x20to\x20other\x20objects\r\n\n\r\n\x05\x04\x0f\ + \x02\0\x04\x12\x04\xdb\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\0\x06\x12\x04\ + \xdb\x02\r\x15\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xdb\x02\x16\x1b\n\r\n\ + \x05\x04\x0f\x02\0\x03\x12\x04\xdb\x02\x1e\x1f\n!\n\x04\x04\x0f\x02\x01\ + \x12\x04\xdd\x02\x04\x13\x1a\x13\x20opaque\x20user\x20data\r\n\n\x0f\n\ + \x05\x04\x0f\x02\x01\x04\x12\x06\xdd\x02\x04\xdb\x02\x20\n\r\n\x05\x04\ + \x0f\x02\x01\x05\x12\x04\xdd\x02\x04\t\n\r\n\x05\x04\x0f\x02\x01\x01\x12\ + \x04\xdd\x02\n\x0e\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xdd\x02\x11\x12\ + \nW\n\x02\x05\x07\x12\x06\xe1\x02\0\xec\x02\x01\x1aI\x20KSREQTYPE\x20ind\ icates\x20the\x20particular\x20KeystoreAPI\x20request\x20being\x20perfor\ - med\n\n\x0b\n\x03\x05\x07\x01\x12\x04\xd0\x02\x05\x0e\nI\n\x04\x05\x07\ - \x02\0\x12\x04\xd2\x02\x04\x0f\x1a;\x20KS_HAS\x20is\x20used\x20to\x20che\ - ck\x20if\x20the\x20key\x20exists\x20in\x20our\x20keystore\n\n\r\n\x05\ - \x05\x07\x02\0\x01\x12\x04\xd2\x02\x04\n\n\r\n\x05\x05\x07\x02\0\x02\x12\ - \x04\xd2\x02\r\x0e\nN\n\x04\x05\x07\x02\x01\x12\x04\xd4\x02\x04\x0f\x1a@\ + med\r\n\n\x0b\n\x03\x05\x07\x01\x12\x04\xe1\x02\x05\x0e\nJ\n\x04\x05\x07\ + \x02\0\x12\x04\xe3\x02\x04\x0f\x1a<\x20KS_HAS\x20is\x20used\x20to\x20che\ + ck\x20if\x20the\x20key\x20exists\x20in\x20our\x20keystore\r\n\n\r\n\x05\ + \x05\x07\x02\0\x01\x12\x04\xe3\x02\x04\n\n\r\n\x05\x05\x07\x02\0\x02\x12\ + \x04\xe3\x02\r\x0e\nO\n\x04\x05\x07\x02\x01\x12\x04\xe5\x02\x04\x0f\x1aA\ \x20KS_GET\x20is\x20used\x20to\x20retrieve\x20private\x20key\x20bytes\ - \x20from\x20our\x20keystore\n\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\xd4\ - \x02\x04\n\n\r\n\x05\x05\x07\x02\x01\x02\x12\x04\xd4\x02\r\x0e\nI\n\x04\ - \x05\x07\x02\x02\x12\x04\xd6\x02\x04\x0f\x1a;\x20KS_PUT\x20is\x20used\ - \x20to\x20store\x20private\x20key\x20bytes\x20in\x20our\x20keystore\n\n\ - \r\n\x05\x05\x07\x02\x02\x01\x12\x04\xd6\x02\x04\n\n\r\n\x05\x05\x07\x02\ - \x02\x02\x12\x04\xd6\x02\r\x0e\nJ\n\x04\x05\x07\x02\x03\x12\x04\xd8\x02\ - \x04\x12\x1a<\x20KS_DELETE\x20is\x20used\x20to\x20delete\x20private\x20k\ - eys\x20from\x20our\x20keystore\n\n\r\n\x05\x05\x07\x02\x03\x01\x12\x04\ - \xd8\x02\x04\r\n\r\n\x05\x05\x07\x02\x03\x02\x12\x04\xd8\x02\x10\x11\nN\ - \n\x04\x05\x07\x02\x04\x12\x04\xda\x02\x04\x10\x1a@\x20KS_LIST\x20is\x20\ - used\x20to\x20list\x20all\x20keys\x20in\x20our\x20keystore\x20by\x20thei\ - r\x20name\n\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\xda\x02\x04\x0b\n\r\n\ - \x05\x05\x07\x02\x04\x02\x12\x04\xda\x02\x0e\x0f\n8\n\x02\x04\x10\x12\ - \x06\xde\x02\0\xe7\x02\x01\x1a*\x20Used\x20to\x20submit\x20a\x20request\ - \x20to\x20Keystore\x20RPC\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xde\x02\x08\ - \x17\n:\n\x04\x04\x10\x02\0\x12\x04\xe0\x02\x04\x1e\x1a,\x20indicates\ - \x20the\x20request\x20type\x20being\x20performed\n\n\x0f\n\x05\x04\x10\ - \x02\0\x04\x12\x06\xe0\x02\x04\xde\x02\x19\n\r\n\x05\x04\x10\x02\0\x06\ - \x12\x04\xe0\x02\x04\r\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xe0\x02\x0e\ - \x19\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\xe0\x02\x1c\x1d\n^\n\x04\x04\ - \x10\x02\x01\x12\x04\xe3\x02\x04\x14\x1aP\x20name\x20of\x20the\x20key\ - \x20the\x20request\x20is\x20for\n\x20sent\x20by:\x20KS_HAS,\x20KS_GET,\ - \x20KS_PUT,\x20KS_DELETE\n\n\x0f\n\x05\x04\x10\x02\x01\x04\x12\x06\xe3\ - \x02\x04\xe0\x02\x1e\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xe3\x02\x04\n\ - \n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xe3\x02\x0b\x0f\n\r\n\x05\x04\x10\ - \x02\x01\x03\x12\x04\xe3\x02\x12\x13\n=\n\x04\x04\x10\x02\x02\x12\x04\ - \xe6\x02\x04\x19\x1a/\x20the\x20actual\x20private\x20key\x20bytes\n\x20s\ - ent\x20by:\x20KS_PUT\n\n\x0f\n\x05\x04\x10\x02\x02\x04\x12\x06\xe6\x02\ - \x04\xe3\x02\x14\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\xe6\x02\x04\t\n\r\ - \n\x05\x04\x10\x02\x02\x01\x12\x04\xe6\x02\n\x14\n\r\n\x05\x04\x10\x02\ - \x02\x03\x12\x04\xe6\x02\x17\x18\n2\n\x02\x04\x11\x12\x06\xea\x02\0\xf6\ - \x02\x01\x1a$\x20Used\x20in\x20response\x20to\x20a\x20Keystore\x20RPC\n\ - \n\x0b\n\x03\x04\x11\x01\x12\x04\xea\x02\x08\x18\n:\n\x04\x04\x11\x02\0\ - \x12\x04\xec\x02\x04\x1e\x1a,\x20indicates\x20the\x20request\x20type\x20\ - being\x20performed\n\n\x0f\n\x05\x04\x11\x02\0\x04\x12\x06\xec\x02\x04\ - \xea\x02\x1a\n\r\n\x05\x04\x11\x02\0\x06\x12\x04\xec\x02\x04\r\n\r\n\x05\ - \x04\x11\x02\0\x01\x12\x04\xec\x02\x0e\x19\n\r\n\x05\x04\x11\x02\0\x03\ - \x12\x04\xec\x02\x1c\x1d\n6\n\x04\x04\x11\x02\x01\x12\x04\xef\x02\x04\ - \x19\x1a(\x20the\x20private\x20key\x20bytes\n\x20sent\x20by:\x20KS_GET\n\ - \n\x0f\n\x05\x04\x11\x02\x01\x04\x12\x06\xef\x02\x04\xec\x02\x1e\n\r\n\ - \x05\x04\x11\x02\x01\x05\x12\x04\xef\x02\x04\t\n\r\n\x05\x04\x11\x02\x01\ - \x01\x12\x04\xef\x02\n\x14\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xef\x02\ - \x17\x18\n>\n\x04\x04\x11\x02\x02\x12\x04\xf2\x02\x04!\x1a0\x20contains\ - \x20all\x20known\x20key\x20names\n\x20sent\x20by:\x20KS_LIST\n\n\r\n\x05\ - \x04\x11\x02\x02\x04\x12\x04\xf2\x02\x04\x0c\n\r\n\x05\x04\x11\x02\x02\ - \x05\x12\x04\xf2\x02\r\x13\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xf2\x02\ - \x14\x1c\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xf2\x02\x1f\x20\nM\n\x04\ - \x04\x11\x02\x03\x12\x04\xf5\x02\x04\x11\x1a?\x20indicates\x20if\x20we\ - \x20have\x20the\x20key\x20in\x20our\x20keystore\n\x20sent\x20by:\x20KS_H\ - AS\n\n\x0f\n\x05\x04\x11\x02\x03\x04\x12\x06\xf5\x02\x04\xf2\x02!\n\r\n\ - \x05\x04\x11\x02\x03\x05\x12\x04\xf5\x02\x04\x08\n\r\n\x05\x04\x11\x02\ - \x03\x01\x12\x04\xf5\x02\t\x0c\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\xf5\ - \x02\x0f\x10\n\x0c\n\x02\x04\x12\x12\x06\xf8\x02\0\xfb\x02\x01\n\x0b\n\ - \x03\x04\x12\x01\x12\x04\xf8\x02\x08\x16\n'\n\x04\x04\x12\x02\0\x12\x04\ - \xfa\x02\x04\x1d\x1a\x19\x20cids\x20to\x20persist\x20locally\n\n\r\n\x05\ - \x04\x12\x02\0\x04\x12\x04\xfa\x02\x04\x0c\n\r\n\x05\x04\x12\x02\0\x05\ - \x12\x04\xfa\x02\r\x13\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\xfa\x02\x14\ - \x18\n\r\n\x05\x04\x12\x02\0\x03\x12\x04\xfa\x02\x1b\x1c\n\x0c\n\x02\x04\ - \x13\x12\x06\xfd\x02\0\x82\x03\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\xfd\ - \x02\x08\x17\nB\n\x04\x04\x13\x02\0\x12\x04\xff\x02\x04!\x1a4\x20key\x20\ - =\x20cid,\x20value\x20=\x20whether\x20or\x20not\x20it\x20was\x20persiste\ - d\n\n\x0f\n\x05\x04\x13\x02\0\x04\x12\x06\xff\x02\x04\xfd\x02\x19\n\r\n\ - \x05\x04\x13\x02\0\x06\x12\x04\xff\x02\x04\x15\n\r\n\x05\x04\x13\x02\0\ - \x01\x12\x04\xff\x02\x16\x1c\n\r\n\x05\x04\x13\x02\0\x03\x12\x04\xff\x02\ - \x1f\x20\n9\n\x04\x04\x13\x02\x01\x12\x04\x81\x03\x04#\x1a+\x20key\x20=\ - \x20cid,\x20value\x20=\x20error\x20if\x20not\x20persisted\n\n\x0f\n\x05\ - \x04\x13\x02\x01\x04\x12\x06\x81\x03\x04\xff\x02!\n\r\n\x05\x04\x13\x02\ - \x01\x06\x12\x04\x81\x03\x04\x17\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\ - \x81\x03\x18\x1e\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\x81\x03!\"b\x06pr\ - oto3\ + \x20from\x20our\x20keystore\r\n\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\ + \xe5\x02\x04\n\n\r\n\x05\x05\x07\x02\x01\x02\x12\x04\xe5\x02\r\x0e\nJ\n\ + \x04\x05\x07\x02\x02\x12\x04\xe7\x02\x04\x0f\x1a<\x20KS_PUT\x20is\x20use\ + d\x20to\x20store\x20private\x20key\x20bytes\x20in\x20our\x20keystore\r\n\ + \n\r\n\x05\x05\x07\x02\x02\x01\x12\x04\xe7\x02\x04\n\n\r\n\x05\x05\x07\ + \x02\x02\x02\x12\x04\xe7\x02\r\x0e\nK\n\x04\x05\x07\x02\x03\x12\x04\xe9\ + \x02\x04\x12\x1a=\x20KS_DELETE\x20is\x20used\x20to\x20delete\x20private\ + \x20keys\x20from\x20our\x20keystore\r\n\n\r\n\x05\x05\x07\x02\x03\x01\ + \x12\x04\xe9\x02\x04\r\n\r\n\x05\x05\x07\x02\x03\x02\x12\x04\xe9\x02\x10\ + \x11\nO\n\x04\x05\x07\x02\x04\x12\x04\xeb\x02\x04\x10\x1aA\x20KS_LIST\ + \x20is\x20used\x20to\x20list\x20all\x20keys\x20in\x20our\x20keystore\x20\ + by\x20their\x20name\r\n\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\xeb\x02\ + \x04\x0b\n\r\n\x05\x05\x07\x02\x04\x02\x12\x04\xeb\x02\x0e\x0f\n9\n\x02\ + \x04\x10\x12\x06\xef\x02\0\xf8\x02\x01\x1a+\x20Used\x20to\x20submit\x20a\ + \x20request\x20to\x20Keystore\x20RPC\r\n\n\x0b\n\x03\x04\x10\x01\x12\x04\ + \xef\x02\x08\x17\n;\n\x04\x04\x10\x02\0\x12\x04\xf1\x02\x04\x1e\x1a-\x20\ + indicates\x20the\x20request\x20type\x20being\x20performed\r\n\n\x0f\n\ + \x05\x04\x10\x02\0\x04\x12\x06\xf1\x02\x04\xef\x02\x19\n\r\n\x05\x04\x10\ + \x02\0\x06\x12\x04\xf1\x02\x04\r\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xf1\ + \x02\x0e\x19\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\xf1\x02\x1c\x1d\n`\n\ + \x04\x04\x10\x02\x01\x12\x04\xf4\x02\x04\x14\x1aR\x20name\x20of\x20the\ + \x20key\x20the\x20request\x20is\x20for\r\n\x20sent\x20by:\x20KS_HAS,\x20\ + KS_GET,\x20KS_PUT,\x20KS_DELETE\r\n\n\x0f\n\x05\x04\x10\x02\x01\x04\x12\ + \x06\xf4\x02\x04\xf1\x02\x1e\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xf4\ + \x02\x04\n\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xf4\x02\x0b\x0f\n\r\n\ + \x05\x04\x10\x02\x01\x03\x12\x04\xf4\x02\x12\x13\n?\n\x04\x04\x10\x02\ + \x02\x12\x04\xf7\x02\x04\x19\x1a1\x20the\x20actual\x20private\x20key\x20\ + bytes\r\n\x20sent\x20by:\x20KS_PUT\r\n\n\x0f\n\x05\x04\x10\x02\x02\x04\ + \x12\x06\xf7\x02\x04\xf4\x02\x14\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\ + \xf7\x02\x04\t\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xf7\x02\n\x14\n\r\n\ + \x05\x04\x10\x02\x02\x03\x12\x04\xf7\x02\x17\x18\n3\n\x02\x04\x11\x12\ + \x06\xfb\x02\0\x87\x03\x01\x1a%\x20Used\x20in\x20response\x20to\x20a\x20\ + Keystore\x20RPC\r\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xfb\x02\x08\x18\n;\n\ + \x04\x04\x11\x02\0\x12\x04\xfd\x02\x04\x1e\x1a-\x20indicates\x20the\x20r\ + equest\x20type\x20being\x20performed\r\n\n\x0f\n\x05\x04\x11\x02\0\x04\ + \x12\x06\xfd\x02\x04\xfb\x02\x1a\n\r\n\x05\x04\x11\x02\0\x06\x12\x04\xfd\ + \x02\x04\r\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xfd\x02\x0e\x19\n\r\n\x05\ + \x04\x11\x02\0\x03\x12\x04\xfd\x02\x1c\x1d\n8\n\x04\x04\x11\x02\x01\x12\ + \x04\x80\x03\x04\x19\x1a*\x20the\x20private\x20key\x20bytes\r\n\x20sent\ + \x20by:\x20KS_GET\r\n\n\x0f\n\x05\x04\x11\x02\x01\x04\x12\x06\x80\x03\ + \x04\xfd\x02\x1e\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\x80\x03\x04\t\n\r\ + \n\x05\x04\x11\x02\x01\x01\x12\x04\x80\x03\n\x14\n\r\n\x05\x04\x11\x02\ + \x01\x03\x12\x04\x80\x03\x17\x18\n@\n\x04\x04\x11\x02\x02\x12\x04\x83\ + \x03\x04!\x1a2\x20contains\x20all\x20known\x20key\x20names\r\n\x20sent\ + \x20by:\x20KS_LIST\r\n\n\r\n\x05\x04\x11\x02\x02\x04\x12\x04\x83\x03\x04\ + \x0c\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\x83\x03\r\x13\n\r\n\x05\x04\ + \x11\x02\x02\x01\x12\x04\x83\x03\x14\x1c\n\r\n\x05\x04\x11\x02\x02\x03\ + \x12\x04\x83\x03\x1f\x20\nO\n\x04\x04\x11\x02\x03\x12\x04\x86\x03\x04\ + \x11\x1aA\x20indicates\x20if\x20we\x20have\x20the\x20key\x20in\x20our\ + \x20keystore\r\n\x20sent\x20by:\x20KS_HAS\r\n\n\x0f\n\x05\x04\x11\x02\ + \x03\x04\x12\x06\x86\x03\x04\x83\x03!\n\r\n\x05\x04\x11\x02\x03\x05\x12\ + \x04\x86\x03\x04\x08\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\x86\x03\t\x0c\ + \n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\x86\x03\x0f\x10\n\x0c\n\x02\x04\ + \x12\x12\x06\x89\x03\0\x90\x03\x01\n\x0b\n\x03\x04\x12\x01\x12\x04\x89\ + \x03\x08\x16\n(\n\x04\x04\x12\x02\0\x12\x04\x8b\x03\x04\x1d\x1a\x1a\x20c\ + ids\x20to\x20persist\x20locally\r\n\n\r\n\x05\x04\x12\x02\0\x04\x12\x04\ + \x8b\x03\x04\x0c\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\x8b\x03\r\x13\n\r\n\ + \x05\x04\x12\x02\0\x01\x12\x04\x8b\x03\x14\x18\n\r\n\x05\x04\x12\x02\0\ + \x03\x12\x04\x8b\x03\x1b\x1c\n<\n\x04\x04\x12\x02\x01\x12\x04\x8d\x03\ + \x04\x15\x1a.\x20optional\x20reference\x20ID\x20to\x20mark\x20the\x20cid\ + s\x20with\r\n\n\x0f\n\x05\x04\x12\x02\x01\x04\x12\x06\x8d\x03\x04\x8b\ + \x03\x1d\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\x8d\x03\x04\n\n\r\n\x05\ + \x04\x12\x02\x01\x01\x12\x04\x8d\x03\x0b\x10\n\r\n\x05\x04\x12\x02\x01\ + \x03\x12\x04\x8d\x03\x13\x14\n;\n\x04\x04\x12\x02\x02\x12\x04\x8f\x03\ + \x04\x19\x1a-\x20if\x20refID\x20is\x20set,\x20allows\x20progressive\x20u\ + pload\r\n\n\x0f\n\x05\x04\x12\x02\x02\x04\x12\x06\x8f\x03\x04\x8d\x03\ + \x15\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\x8f\x03\x04\x08\n\r\n\x05\x04\ + \x12\x02\x02\x01\x12\x04\x8f\x03\t\x14\n\r\n\x05\x04\x12\x02\x02\x03\x12\ + \x04\x8f\x03\x17\x18\n\x0c\n\x02\x04\x13\x12\x06\x92\x03\0\x97\x03\x01\n\ + \x0b\n\x03\x04\x13\x01\x12\x04\x92\x03\x08\x17\nC\n\x04\x04\x13\x02\0\ + \x12\x04\x94\x03\x04!\x1a5\x20key\x20=\x20cid,\x20value\x20=\x20whether\ + \x20or\x20not\x20it\x20was\x20persisted\r\n\n\x0f\n\x05\x04\x13\x02\0\ + \x04\x12\x06\x94\x03\x04\x92\x03\x19\n\r\n\x05\x04\x13\x02\0\x06\x12\x04\ + \x94\x03\x04\x15\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\x94\x03\x16\x1c\n\r\ + \n\x05\x04\x13\x02\0\x03\x12\x04\x94\x03\x1f\x20\n:\n\x04\x04\x13\x02\ + \x01\x12\x04\x96\x03\x04#\x1a,\x20key\x20=\x20cid,\x20value\x20=\x20erro\ + r\x20if\x20not\x20persisted\r\n\n\x0f\n\x05\x04\x13\x02\x01\x04\x12\x06\ + \x96\x03\x04\x94\x03!\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\x96\x03\x04\ + \x17\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\x96\x03\x18\x1e\n\r\n\x05\x04\ + \x13\x02\x01\x03\x12\x04\x96\x03!\"b\x06proto3\ "; -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/rs/src/node_grpc.rs b/rs/src/node_grpc.rs index 67f7e30..138ddad 100644 --- a/rs/src/node_grpc.rs +++ b/rs/src/node_grpc.rs @@ -205,7 +205,7 @@ impl NodeApiClient { pub fn persist_async(&self, req: &super::node::PersistRequest) -> ::grpcio::Result<::grpcio::ClientUnaryReceiver> { self.persist_async_opt(req, ::grpcio::CallOption::default()) } - pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { + pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { self.client.spawn(f) } } diff --git a/rs/src/pubsub.rs b/rs/src/pubsub.rs index fea678b..807e5ad 100644 --- a/rs/src/pubsub.rs +++ b/rs/src/pubsub.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `pubsub.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct PubSubRequest { @@ -161,7 +158,7 @@ impl ::protobuf::Message for PubSubRequest { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != PSREQTYPE::PS_GET_TOPICS { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } for v in &self.topics { os.write_string(2, &v)?; @@ -191,7 +188,7 @@ impl ::protobuf::Message for PubSubRequest { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -204,45 +201,35 @@ impl ::protobuf::Message for PubSubRequest { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &PubSubRequest| { &m.requestType }, - |m: &mut PubSubRequest| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "topics", - |m: &PubSubRequest| { &m.topics }, - |m: &mut PubSubRequest| { &mut m.topics }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "data", - |m: &PubSubRequest| { &m.data }, - |m: &mut PubSubRequest| { &mut m.data }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "PubSubRequest", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &PubSubRequest| { &m.requestType }, + |m: &mut PubSubRequest| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "topics", + |m: &PubSubRequest| { &m.topics }, + |m: &mut PubSubRequest| { &mut m.topics }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "data", + |m: &PubSubRequest| { &m.data }, + |m: &mut PubSubRequest| { &mut m.data }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "PubSubRequest", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static PubSubRequest { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const PubSubRequest, - }; - unsafe { - instance.get(PubSubRequest::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(PubSubRequest::new) } } @@ -262,8 +249,8 @@ impl ::std::fmt::Debug for PubSubRequest { } impl ::protobuf::reflect::ProtobufValue for PubSubRequest { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -445,7 +432,7 @@ impl ::protobuf::Message for PubSubResponse { fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.requestType != PSREQTYPE::PS_GET_TOPICS { - os.write_enum(1, self.requestType.value())?; + os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.requestType))?; } for v in &self.message { os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?; @@ -482,7 +469,7 @@ impl ::protobuf::Message for PubSubResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -495,50 +482,40 @@ impl ::protobuf::Message for PubSubResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "requestType", - |m: &PubSubResponse| { &m.requestType }, - |m: &mut PubSubResponse| { &mut m.requestType }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "message", - |m: &PubSubResponse| { &m.message }, - |m: &mut PubSubResponse| { &mut m.message }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "topics", - |m: &PubSubResponse| { &m.topics }, - |m: &mut PubSubResponse| { &mut m.topics }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "peers", - |m: &PubSubResponse| { &m.peers }, - |m: &mut PubSubResponse| { &mut m.peers }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "PubSubResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "requestType", + |m: &PubSubResponse| { &m.requestType }, + |m: &mut PubSubResponse| { &mut m.requestType }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "message", + |m: &PubSubResponse| { &m.message }, + |m: &mut PubSubResponse| { &mut m.message }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "topics", + |m: &PubSubResponse| { &m.topics }, + |m: &mut PubSubResponse| { &mut m.topics }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "peers", + |m: &PubSubResponse| { &m.peers }, + |m: &mut PubSubResponse| { &mut m.peers }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "PubSubResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static PubSubResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const PubSubResponse, - }; - unsafe { - instance.get(PubSubResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(PubSubResponse::new) } } @@ -559,8 +536,8 @@ impl ::std::fmt::Debug for PubSubResponse { } impl ::protobuf::reflect::ProtobufValue for PubSubResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -848,7 +825,7 @@ impl ::protobuf::Message for PubSubMessage { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -861,60 +838,50 @@ impl ::protobuf::Message for PubSubMessage { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "from", - |m: &PubSubMessage| { &m.from }, - |m: &mut PubSubMessage| { &mut m.from }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "data", - |m: &PubSubMessage| { &m.data }, - |m: &mut PubSubMessage| { &mut m.data }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "seqno", - |m: &PubSubMessage| { &m.seqno }, - |m: &mut PubSubMessage| { &mut m.seqno }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "topicIDs", - |m: &PubSubMessage| { &m.topicIDs }, - |m: &mut PubSubMessage| { &mut m.topicIDs }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "signature", - |m: &PubSubMessage| { &m.signature }, - |m: &mut PubSubMessage| { &mut m.signature }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "key", - |m: &PubSubMessage| { &m.key }, - |m: &mut PubSubMessage| { &mut m.key }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "PubSubMessage", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "from", + |m: &PubSubMessage| { &m.from }, + |m: &mut PubSubMessage| { &mut m.from }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "data", + |m: &PubSubMessage| { &m.data }, + |m: &mut PubSubMessage| { &mut m.data }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "seqno", + |m: &PubSubMessage| { &m.seqno }, + |m: &mut PubSubMessage| { &mut m.seqno }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "topicIDs", + |m: &PubSubMessage| { &m.topicIDs }, + |m: &mut PubSubMessage| { &mut m.topicIDs }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "signature", + |m: &PubSubMessage| { &m.signature }, + |m: &mut PubSubMessage| { &mut m.signature }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "key", + |m: &PubSubMessage| { &m.key }, + |m: &mut PubSubMessage| { &mut m.key }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "PubSubMessage", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static PubSubMessage { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const PubSubMessage, - }; - unsafe { - instance.get(PubSubMessage::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(PubSubMessage::new) } } @@ -937,8 +904,8 @@ impl ::std::fmt::Debug for PubSubMessage { } impl ::protobuf::reflect::ProtobufValue for PubSubMessage { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1083,7 +1050,7 @@ impl ::protobuf::Message for PubSubPeer { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1096,40 +1063,30 @@ impl ::protobuf::Message for PubSubPeer { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "topic", - |m: &PubSubPeer| { &m.topic }, - |m: &mut PubSubPeer| { &mut m.topic }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "peerID", - |m: &PubSubPeer| { &m.peerID }, - |m: &mut PubSubPeer| { &mut m.peerID }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "PubSubPeer", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "topic", + |m: &PubSubPeer| { &m.topic }, + |m: &mut PubSubPeer| { &mut m.topic }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "peerID", + |m: &PubSubPeer| { &m.peerID }, + |m: &mut PubSubPeer| { &mut m.peerID }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "PubSubPeer", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static PubSubPeer { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const PubSubPeer, - }; - unsafe { - instance.get(PubSubPeer::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(PubSubPeer::new) } } @@ -1148,8 +1105,8 @@ impl ::std::fmt::Debug for PubSubPeer { } impl ::protobuf::reflect::ProtobufValue for PubSubPeer { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1187,15 +1144,10 @@ impl ::protobuf::ProtobufEnum for PSREQTYPE { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("PSREQTYPE", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("PSREQTYPE", file_descriptor_proto()) + }) } } @@ -1209,8 +1161,8 @@ impl ::std::default::Default for PSREQTYPE { } impl ::protobuf::reflect::ProtobufValue for PSREQTYPE { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -1231,119 +1183,115 @@ static file_descriptor_proto_data: &'static [u8] = b"\ rID\x18\x02\x20\x01(\tR\x06peerID*S\n\tPSREQTYPE\x12\x11\n\rPS_GET_TOPIC\ S\x10\0\x12\x11\n\rPS_LIST_PEERS\x10\x01\x12\x10\n\x0cPS_SUBSCRIBE\x10\ \x02\x12\x0e\n\nPS_PUBLISH\x10\x032B\n\tPubSubAPI\x125\n\x06PubSub\x12\ - \x11.pb.PubSubRequest\x1a\x12.pb.PubSubResponse\"\0(\x010\x01J\xc7\x15\n\ + \x11.pb.PubSubRequest\x1a\x12.pb.PubSubResponse\"\0(\x010\x01J\xe5\x15\n\ \x06\x12\x04\0\0E\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\ - \x12\x03\x01\x08\n\nt\n\x02\x06\0\x12\x04\x05\0\t\x01\x1ah\x20PubSubAPI\ + \x12\x03\x01\x08\n\nv\n\x02\x06\0\x12\x04\x05\0\t\x01\x1aj\x20PubSubAPI\ \x20provides\x20a\x20libp2p\x20pubsub\x20API\x20and\x20is\x20equivalent\ - \x20to\x20go-ipfs\n\x20`ipfs\x20pubsub`\x20subset\x20of\x20commands.\n\n\ - \n\n\x03\x06\0\x01\x12\x03\x05\x08\x11\nt\n\x04\x06\0\x02\0\x12\x03\x08\ - \x04H\x1ag\x20PubSub\x20allows\x20controlling\x20libp2p\x20pubsub\x20top\ - ics\x20and\x20subscriptions\x20using\n\x20a\x20bidirectional\x20streamin\ - g\x20API\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x08\x08\x0e\n\x0c\n\x05\ - \x06\0\x02\0\x05\x12\x03\x08\x0f\x15\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\ - \x08\x16#\n\x0c\n\x05\x06\0\x02\0\x06\x12\x03\x08.4\n\x0c\n\x05\x06\0\ - \x02\0\x03\x12\x03\x085C\nR\n\x02\x05\0\x12\x04\x0c\0\x15\x01\x1aF\x20PS\ - REQTYPE\x20indicates\x20the\x20particular\x20PubSubAPI\x20request\x20bei\ - ng\x20performed\n\n\n\n\x03\x05\0\x01\x12\x03\x0c\x05\x0e\nQ\n\x04\x05\0\ - \x02\0\x12\x03\x0e\x04\x16\x1aD\x20PS_GET_TOPICS\x20is\x20used\x20to\x20\ - return\x20a\x20list\x20of\x20subscribed\x20pubsub\x20topics\n\n\x0c\n\ - \x05\x05\0\x02\0\x01\x12\x03\x0e\x04\x11\n\x0c\n\x05\x05\0\x02\0\x02\x12\ - \x03\x0e\x14\x15\nh\n\x04\x05\0\x02\x01\x12\x03\x10\x04\x16\x1a[\x20PS_L\ - IST_PEERS\x20is\x20used\x20to\x20return\x20a\x20list\x20of\x20peers\x20s\ - ubscribed\x20to\x20topics\x20we\x20are\x20subscribed\x20to\n\n\x0c\n\x05\ - \x05\0\x02\x01\x01\x12\x03\x10\x04\x11\n\x0c\n\x05\x05\0\x02\x01\x02\x12\ - \x03\x10\x14\x15\n\\\n\x04\x05\0\x02\x02\x12\x03\x12\x04\x15\x1aO\x20PS_\ - SUBSCRIBE\x20is\x20used\x20to\x20establish\x20a\x20persistent\x20subscri\ - ption\x20to\x20a\x20pubsub\x20topic\n\n\x0c\n\x05\x05\0\x02\x02\x01\x12\ - \x03\x12\x04\x10\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x12\x13\x14\nI\n\ - \x04\x05\0\x02\x03\x12\x03\x14\x04\x13\x1a<\x20PS_PUBLISH\x20is\x20used\ - \x20to\x20publisbh\x20a\x20message\x20to\x20a\x20pubsub\x20topic\n\n\x0c\ - \n\x05\x05\0\x02\x03\x01\x12\x03\x14\x04\x0e\n\x0c\n\x05\x05\0\x02\x03\ - \x02\x12\x03\x14\x11\x12\n\n\n\x02\x04\0\x12\x04\x17\0\x20\x01\n\n\n\x03\ - \x04\0\x01\x12\x03\x17\x08\x15\nI\n\x04\x04\0\x02\0\x12\x03\x19\x04\x1e\ - \x1a<\x20indicates\x20the\x20particular\x20PubSubAPI\x20request\x20being\ - \x20performed\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x19\x04\x17\x17\n\x0c\ - \n\x05\x04\0\x02\0\x06\x12\x03\x19\x04\r\n\x0c\n\x05\x04\0\x02\0\x01\x12\ - \x03\x19\x0e\x19\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x19\x1c\x1d\nq\n\ - \x04\x04\0\x02\x01\x12\x03\x1c\x04\x1f\x1ad\x20topics\x20to\x20request\ - \x20peers\x20from,\x20or\x20publish\x20data\x20to\n\x20sent\x20by:\x20PS\ - _LIST_PEERS,\x20PS_SUBSCRIBE,\x20PS_PUBLISH\n\n\x0c\n\x05\x04\0\x02\x01\ - \x04\x12\x03\x1c\x04\x0c\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x1c\r\x13\ - \n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1c\x14\x1a\n\x0c\n\x05\x04\0\x02\ - \x01\x03\x12\x03\x1c\x1d\x1e\n:\n\x04\x04\0\x02\x02\x12\x03\x1f\x04\x13\ - \x1a-\x20data\x20to\x20sent\x20to\x20topics\n\x20sent\x20by:\x20PS_PUBLI\ - SH\n\n\r\n\x05\x04\0\x02\x02\x04\x12\x04\x1f\x04\x1c\x1f\n\x0c\n\x05\x04\ - \0\x02\x02\x05\x12\x03\x1f\x04\t\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\ - \x1f\n\x0e\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x1f\x11\x12\n\n\n\x02\ - \x04\x01\x12\x04\"\0.\x01\n\n\n\x03\x04\x01\x01\x12\x03\"\x08\x16\nI\n\ - \x04\x04\x01\x02\0\x12\x03$\x04\x1e\x1a<\x20indicates\x20the\x20particul\ - ar\x20PubSubAPI\x20request\x20being\x20performed\n\n\r\n\x05\x04\x01\x02\ - \0\x04\x12\x04$\x04\"\x18\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03$\x04\r\n\ - \x0c\n\x05\x04\x01\x02\0\x01\x12\x03$\x0e\x19\n\x0c\n\x05\x04\x01\x02\0\ - \x03\x12\x03$\x1c\x1d\nL\n\x04\x04\x01\x02\x01\x12\x03'\x04'\x1a?\x20mes\ - sages\x20we\x20have\x20received\x20from\x20a\x20topic\n\x20sent\x20by:\ - \x20PS_SUBSCRIBE\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03'\x04\x0c\n\ - \x0c\n\x05\x04\x01\x02\x01\x06\x12\x03'\r\x1a\n\x0c\n\x05\x04\x01\x02\ - \x01\x01\x12\x03'\x1b\"\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03'%&\n2\n\ - \x04\x04\x01\x02\x02\x12\x03*\x04\x1f\x1a%\x20topic\x20names\n\x20sent\ - \x20by:\x20PS_GET_TOPICS\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03*\x04\ - \x0c\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03*\r\x13\n\x0c\n\x05\x04\x01\ - \x02\x02\x01\x12\x03*\x14\x1a\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03*\ - \x1d\x1e\n3\n\x04\x04\x01\x02\x03\x12\x03-\x04\"\x1a&\x20pubsub\x20peers\ - \n\x20sent\x20by:\x20PS_LIST_PEERS\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\ - \x03-\x04\x0c\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03-\r\x17\n\x0c\n\x05\ - \x04\x01\x02\x03\x01\x12\x03-\x18\x1d\n\x0c\n\x05\x04\x01\x02\x03\x03\ - \x12\x03-\x20!\n\n\n\x02\x04\x02\x12\x040\0=\x01\n\n\n\x03\x04\x02\x01\ - \x12\x030\x08\x15\n'\n\x04\x04\x02\x02\0\x12\x032\x04\x13\x1a\x1a\x20who\ - \x20this\x20message\x20is\x20from\n\n\r\n\x05\x04\x02\x02\0\x04\x12\x042\ - \x040\x17\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x032\x04\t\n\x0c\n\x05\x04\ - \x02\x02\0\x01\x12\x032\n\x0e\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x032\x11\ - \x12\n'\n\x04\x04\x02\x02\x01\x12\x034\x04\x13\x1a\x1a\x20the\x20data\ - \x20of\x20this\x20message\n\n\r\n\x05\x04\x02\x02\x01\x04\x12\x044\x042\ - \x13\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x034\x04\t\n\x0c\n\x05\x04\x02\ - \x02\x01\x01\x12\x034\n\x0e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x034\x11\ - \x12\n2\n\x04\x04\x02\x02\x02\x12\x036\x04\x14\x1a%\x20the\x20sequence\ - \x20number\x20of\x20this\x20message\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\ - \x046\x044\x13\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x036\x04\t\n\x0c\n\ - \x05\x04\x02\x02\x02\x01\x12\x036\n\x0f\n\x0c\n\x05\x04\x02\x02\x02\x03\ - \x12\x036\x12\x13\n4\n\x04\x04\x02\x02\x03\x12\x038\x04!\x1a'\x20the\x20\ - topic\x20IDs\x20this\x20message\x20is\x20sent\x20to\n\n\x0c\n\x05\x04\ - \x02\x02\x03\x04\x12\x038\x04\x0c\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\ - \x038\r\x13\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x038\x14\x1c\n\x0c\n\x05\ - \x04\x02\x02\x03\x03\x12\x038\x1f\x20\n*\n\x04\x04\x02\x02\x04\x12\x03:\ - \x04\x18\x1a\x1d\x20the\x20signature\x20of\x20the\x20sender\n\n\r\n\x05\ - \x04\x02\x02\x04\x04\x12\x04:\x048!\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\ - \x03:\x04\t\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03:\n\x13\n\x0c\n\x05\ - \x04\x02\x02\x04\x03\x12\x03:\x16\x17\n$\n\x04\x04\x02\x02\x05\x12\x03<\ - \x04\x12\x1a\x17\x20the\x20key\x20of\x20the\x20sender\n\n\r\n\x05\x04\ - \x02\x02\x05\x04\x12\x04<\x04:\x18\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\ - \x03<\x04\t\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03<\n\r\n\x0c\n\x05\x04\ - \x02\x02\x05\x03\x12\x03<\x10\x11\n2\n\x02\x04\x03\x12\x04@\0E\x01\x1a&\ - \x20represents\x20an\x20individual\x20pubsub\x20peer\n\n\n\n\x03\x04\x03\ - \x01\x12\x03@\x08\x12\n-\n\x04\x04\x03\x02\0\x12\x03B\x04\x15\x1a\x20\ - \x20the\x20topic\x20this\x20peer\x20belongs\x20to\n\n\r\n\x05\x04\x03\ - \x02\0\x04\x12\x04B\x04@\x14\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03B\x04\ - \n\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03B\x0b\x10\n\x0c\n\x05\x04\x03\ - \x02\0\x03\x12\x03B\x13\x14\n\"\n\x04\x04\x03\x02\x01\x12\x03D\x04\x16\ - \x1a\x15\x20the\x20id\x20of\x20this\x20peer\n\n\r\n\x05\x04\x03\x02\x01\ - \x04\x12\x04D\x04B\x15\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03D\x04\n\n\ - \x0c\n\x05\x04\x03\x02\x01\x01\x12\x03D\x0b\x11\n\x0c\n\x05\x04\x03\x02\ - \x01\x03\x12\x03D\x14\x15b\x06proto3\ + \x20to\x20go-ipfs\r\n\x20`ipfs\x20pubsub`\x20subset\x20of\x20commands.\r\ + \n\n\n\n\x03\x06\0\x01\x12\x03\x05\x08\x11\nv\n\x04\x06\0\x02\0\x12\x03\ + \x08\x04H\x1ai\x20PubSub\x20allows\x20controlling\x20libp2p\x20pubsub\ + \x20topics\x20and\x20subscriptions\x20using\r\n\x20a\x20bidirectional\ + \x20streaming\x20API\r\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x08\x08\x0e\ + \n\x0c\n\x05\x06\0\x02\0\x05\x12\x03\x08\x0f\x15\n\x0c\n\x05\x06\0\x02\0\ + \x02\x12\x03\x08\x16#\n\x0c\n\x05\x06\0\x02\0\x06\x12\x03\x08.4\n\x0c\n\ + \x05\x06\0\x02\0\x03\x12\x03\x085C\nS\n\x02\x05\0\x12\x04\x0c\0\x15\x01\ + \x1aG\x20PSREQTYPE\x20indicates\x20the\x20particular\x20PubSubAPI\x20req\ + uest\x20being\x20performed\r\n\n\n\n\x03\x05\0\x01\x12\x03\x0c\x05\x0e\n\ + R\n\x04\x05\0\x02\0\x12\x03\x0e\x04\x16\x1aE\x20PS_GET_TOPICS\x20is\x20u\ + sed\x20to\x20return\x20a\x20list\x20of\x20subscribed\x20pubsub\x20topics\ + \r\n\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x0e\x04\x11\n\x0c\n\x05\x05\0\ + \x02\0\x02\x12\x03\x0e\x14\x15\ni\n\x04\x05\0\x02\x01\x12\x03\x10\x04\ + \x16\x1a\\\x20PS_LIST_PEERS\x20is\x20used\x20to\x20return\x20a\x20list\ + \x20of\x20peers\x20subscribed\x20to\x20topics\x20we\x20are\x20subscribed\ + \x20to\r\n\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x10\x04\x11\n\x0c\n\x05\ + \x05\0\x02\x01\x02\x12\x03\x10\x14\x15\n]\n\x04\x05\0\x02\x02\x12\x03\ + \x12\x04\x15\x1aP\x20PS_SUBSCRIBE\x20is\x20used\x20to\x20establish\x20a\ + \x20persistent\x20subscription\x20to\x20a\x20pubsub\x20topic\r\n\n\x0c\n\ + \x05\x05\0\x02\x02\x01\x12\x03\x12\x04\x10\n\x0c\n\x05\x05\0\x02\x02\x02\ + \x12\x03\x12\x13\x14\nJ\n\x04\x05\0\x02\x03\x12\x03\x14\x04\x13\x1a=\x20\ + PS_PUBLISH\x20is\x20used\x20to\x20publisbh\x20a\x20message\x20to\x20a\ + \x20pubsub\x20topic\r\n\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x14\x04\ + \x0e\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x14\x11\x12\n\n\n\x02\x04\0\ + \x12\x04\x17\0\x20\x01\n\n\n\x03\x04\0\x01\x12\x03\x17\x08\x15\nJ\n\x04\ + \x04\0\x02\0\x12\x03\x19\x04\x1e\x1a=\x20indicates\x20the\x20particular\ + \x20PubSubAPI\x20request\x20being\x20performed\r\n\n\r\n\x05\x04\0\x02\0\ + \x04\x12\x04\x19\x04\x17\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x19\x04\ + \r\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x19\x0e\x19\n\x0c\n\x05\x04\0\x02\ + \0\x03\x12\x03\x19\x1c\x1d\ns\n\x04\x04\0\x02\x01\x12\x03\x1c\x04\x1f\ + \x1af\x20topics\x20to\x20request\x20peers\x20from,\x20or\x20publish\x20d\ + ata\x20to\r\n\x20sent\x20by:\x20PS_LIST_PEERS,\x20PS_SUBSCRIBE,\x20PS_PU\ + BLISH\r\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x1c\x04\x0c\n\x0c\n\x05\ + \x04\0\x02\x01\x05\x12\x03\x1c\r\x13\n\x0c\n\x05\x04\0\x02\x01\x01\x12\ + \x03\x1c\x14\x1a\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x1c\x1d\x1e\n<\n\ + \x04\x04\0\x02\x02\x12\x03\x1f\x04\x13\x1a/\x20data\x20to\x20sent\x20to\ + \x20topics\r\n\x20sent\x20by:\x20PS_PUBLISH\r\n\n\r\n\x05\x04\0\x02\x02\ + \x04\x12\x04\x1f\x04\x1c\x1f\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x1f\ + \x04\t\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x1f\n\x0e\n\x0c\n\x05\x04\0\ + \x02\x02\x03\x12\x03\x1f\x11\x12\n\n\n\x02\x04\x01\x12\x04\"\0.\x01\n\n\ + \n\x03\x04\x01\x01\x12\x03\"\x08\x16\nJ\n\x04\x04\x01\x02\0\x12\x03$\x04\ + \x1e\x1a=\x20indicates\x20the\x20particular\x20PubSubAPI\x20request\x20b\ + eing\x20performed\r\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04$\x04\"\x18\n\ + \x0c\n\x05\x04\x01\x02\0\x06\x12\x03$\x04\r\n\x0c\n\x05\x04\x01\x02\0\ + \x01\x12\x03$\x0e\x19\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03$\x1c\x1d\nN\ + \n\x04\x04\x01\x02\x01\x12\x03'\x04'\x1aA\x20messages\x20we\x20have\x20r\ + eceived\x20from\x20a\x20topic\r\n\x20sent\x20by:\x20PS_SUBSCRIBE\r\n\n\ + \x0c\n\x05\x04\x01\x02\x01\x04\x12\x03'\x04\x0c\n\x0c\n\x05\x04\x01\x02\ + \x01\x06\x12\x03'\r\x1a\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03'\x1b\"\n\ + \x0c\n\x05\x04\x01\x02\x01\x03\x12\x03'%&\n4\n\x04\x04\x01\x02\x02\x12\ + \x03*\x04\x1f\x1a'\x20topic\x20names\r\n\x20sent\x20by:\x20PS_GET_TOPICS\ + \r\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03*\x04\x0c\n\x0c\n\x05\x04\ + \x01\x02\x02\x05\x12\x03*\r\x13\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03*\ + \x14\x1a\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03*\x1d\x1e\n5\n\x04\x04\ + \x01\x02\x03\x12\x03-\x04\"\x1a(\x20pubsub\x20peers\r\n\x20sent\x20by:\ + \x20PS_LIST_PEERS\r\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03-\x04\x0c\n\ + \x0c\n\x05\x04\x01\x02\x03\x06\x12\x03-\r\x17\n\x0c\n\x05\x04\x01\x02\ + \x03\x01\x12\x03-\x18\x1d\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03-\x20!\ + \n\n\n\x02\x04\x02\x12\x040\0=\x01\n\n\n\x03\x04\x02\x01\x12\x030\x08\ + \x15\n(\n\x04\x04\x02\x02\0\x12\x032\x04\x13\x1a\x1b\x20who\x20this\x20m\ + essage\x20is\x20from\r\n\n\r\n\x05\x04\x02\x02\0\x04\x12\x042\x040\x17\n\ + \x0c\n\x05\x04\x02\x02\0\x05\x12\x032\x04\t\n\x0c\n\x05\x04\x02\x02\0\ + \x01\x12\x032\n\x0e\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x032\x11\x12\n(\n\ + \x04\x04\x02\x02\x01\x12\x034\x04\x13\x1a\x1b\x20the\x20data\x20of\x20th\ + is\x20message\r\n\n\r\n\x05\x04\x02\x02\x01\x04\x12\x044\x042\x13\n\x0c\ + \n\x05\x04\x02\x02\x01\x05\x12\x034\x04\t\n\x0c\n\x05\x04\x02\x02\x01\ + \x01\x12\x034\n\x0e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x034\x11\x12\n3\ + \n\x04\x04\x02\x02\x02\x12\x036\x04\x14\x1a&\x20the\x20sequence\x20numbe\ + r\x20of\x20this\x20message\r\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x046\ + \x044\x13\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x036\x04\t\n\x0c\n\x05\x04\ + \x02\x02\x02\x01\x12\x036\n\x0f\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x036\ + \x12\x13\n5\n\x04\x04\x02\x02\x03\x12\x038\x04!\x1a(\x20the\x20topic\x20\ + IDs\x20this\x20message\x20is\x20sent\x20to\r\n\n\x0c\n\x05\x04\x02\x02\ + \x03\x04\x12\x038\x04\x0c\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x038\r\x13\ + \n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x038\x14\x1c\n\x0c\n\x05\x04\x02\ + \x02\x03\x03\x12\x038\x1f\x20\n+\n\x04\x04\x02\x02\x04\x12\x03:\x04\x18\ + \x1a\x1e\x20the\x20signature\x20of\x20the\x20sender\r\n\n\r\n\x05\x04\ + \x02\x02\x04\x04\x12\x04:\x048!\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\x03:\ + \x04\t\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03:\n\x13\n\x0c\n\x05\x04\ + \x02\x02\x04\x03\x12\x03:\x16\x17\n%\n\x04\x04\x02\x02\x05\x12\x03<\x04\ + \x12\x1a\x18\x20the\x20key\x20of\x20the\x20sender\r\n\n\r\n\x05\x04\x02\ + \x02\x05\x04\x12\x04<\x04:\x18\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03<\ + \x04\t\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03<\n\r\n\x0c\n\x05\x04\x02\ + \x02\x05\x03\x12\x03<\x10\x11\n3\n\x02\x04\x03\x12\x04@\0E\x01\x1a'\x20r\ + epresents\x20an\x20individual\x20pubsub\x20peer\r\n\n\n\n\x03\x04\x03\ + \x01\x12\x03@\x08\x12\n.\n\x04\x04\x03\x02\0\x12\x03B\x04\x15\x1a!\x20th\ + e\x20topic\x20this\x20peer\x20belongs\x20to\r\n\n\r\n\x05\x04\x03\x02\0\ + \x04\x12\x04B\x04@\x14\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03B\x04\n\n\ + \x0c\n\x05\x04\x03\x02\0\x01\x12\x03B\x0b\x10\n\x0c\n\x05\x04\x03\x02\0\ + \x03\x12\x03B\x13\x14\n#\n\x04\x04\x03\x02\x01\x12\x03D\x04\x16\x1a\x16\ + \x20the\x20id\x20of\x20this\x20peer\r\n\n\r\n\x05\x04\x03\x02\x01\x04\ + \x12\x04D\x04B\x15\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03D\x04\n\n\x0c\ + \n\x05\x04\x03\x02\x01\x01\x12\x03D\x0b\x11\n\x0c\n\x05\x04\x03\x02\x01\ + \x03\x12\x03D\x14\x15b\x06proto3\ "; -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/rs/src/pubsub_grpc.rs b/rs/src/pubsub_grpc.rs index 5cbf714..1ac7f91 100644 --- a/rs/src/pubsub_grpc.rs +++ b/rs/src/pubsub_grpc.rs @@ -44,7 +44,7 @@ impl PubSubApiClient { pub fn pub_sub(&self) -> ::grpcio::Result<(::grpcio::ClientDuplexSender, ::grpcio::ClientDuplexReceiver)> { self.pub_sub_opt(::grpcio::CallOption::default()) } - pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { + pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { self.client.spawn(f) } } diff --git a/rs/src/replication.rs b/rs/src/replication.rs index d1bc177..66d5d25 100644 --- a/rs/src/replication.rs +++ b/rs/src/replication.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `replication.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct Replication { @@ -296,7 +293,7 @@ impl ::protobuf::Message for Replication { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -309,60 +306,50 @@ impl ::protobuf::Message for Replication { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "header", - |m: &Replication| { &m.header }, - |m: &mut Replication| { &mut m.header }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "cids_bytes", - |m: &Replication| { &m.cids_bytes }, - |m: &mut Replication| { &mut m.cids_bytes }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "servers", - |m: &Replication| { &m.servers }, - |m: &mut Replication| { &mut m.servers }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "replication_factor", - |m: &Replication| { &m.replication_factor }, - |m: &mut Replication| { &mut m.replication_factor }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "refresh_interval_seconds", - |m: &Replication| { &m.refresh_interval_seconds }, - |m: &mut Replication| { &mut m.refresh_interval_seconds }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "server_down_delay_seconds", - |m: &Replication| { &m.server_down_delay_seconds }, - |m: &mut Replication| { &mut m.server_down_delay_seconds }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "Replication", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "header", + |m: &Replication| { &m.header }, + |m: &mut Replication| { &mut m.header }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "cids_bytes", + |m: &Replication| { &m.cids_bytes }, + |m: &mut Replication| { &mut m.cids_bytes }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "servers", + |m: &Replication| { &m.servers }, + |m: &mut Replication| { &mut m.servers }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "replication_factor", + |m: &Replication| { &m.replication_factor }, + |m: &mut Replication| { &mut m.replication_factor }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "refresh_interval_seconds", + |m: &Replication| { &m.refresh_interval_seconds }, + |m: &mut Replication| { &mut m.refresh_interval_seconds }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "server_down_delay_seconds", + |m: &Replication| { &m.server_down_delay_seconds }, + |m: &mut Replication| { &mut m.server_down_delay_seconds }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "Replication", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static Replication { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const Replication, - }; - unsafe { - instance.get(Replication::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(Replication::new) } } @@ -385,8 +372,8 @@ impl ::std::fmt::Debug for Replication { } impl ::protobuf::reflect::ProtobufValue for Replication { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -414,7 +401,7 @@ impl ServerSource { pub fn get_addr_info(&self) -> &AddrInfo { - self.addr_info.as_ref().unwrap_or_else(|| AddrInfo::default_instance()) + self.addr_info.as_ref().unwrap_or_else(|| ::default_instance()) } pub fn clear_addr_info(&mut self) { self.addr_info.clear(); @@ -510,7 +497,7 @@ impl ::protobuf::Message for ServerSource { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -523,35 +510,25 @@ impl ::protobuf::Message for ServerSource { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "addr_info", - |m: &ServerSource| { &m.addr_info }, - |m: &mut ServerSource| { &mut m.addr_info }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ServerSource", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "addr_info", + |m: &ServerSource| { &m.addr_info }, + |m: &mut ServerSource| { &mut m.addr_info }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ServerSource", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ServerSource { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ServerSource, - }; - unsafe { - instance.get(ServerSource::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ServerSource::new) } } @@ -569,8 +546,8 @@ impl ::std::fmt::Debug for ServerSource { } impl ::protobuf::reflect::ProtobufValue for ServerSource { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -743,7 +720,7 @@ impl ::protobuf::Message for AddrInfo { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -756,45 +733,35 @@ impl ::protobuf::Message for AddrInfo { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "id_bytes", - |m: &AddrInfo| { &m.id_bytes }, - |m: &mut AddrInfo| { &mut m.id_bytes }, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "addrs_bytes", - |m: &AddrInfo| { &m.addrs_bytes }, - |m: &mut AddrInfo| { &mut m.addrs_bytes }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( - "grpc_port", - |m: &AddrInfo| { &m.grpc_port }, - |m: &mut AddrInfo| { &mut m.grpc_port }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "AddrInfo", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "id_bytes", + |m: &AddrInfo| { &m.id_bytes }, + |m: &mut AddrInfo| { &mut m.id_bytes }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "addrs_bytes", + |m: &AddrInfo| { &m.addrs_bytes }, + |m: &mut AddrInfo| { &mut m.addrs_bytes }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>( + "grpc_port", + |m: &AddrInfo| { &m.grpc_port }, + |m: &mut AddrInfo| { &mut m.grpc_port }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "AddrInfo", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static AddrInfo { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const AddrInfo, - }; - unsafe { - instance.get(AddrInfo::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(AddrInfo::new) } } @@ -814,8 +781,8 @@ impl ::std::fmt::Debug for AddrInfo { } impl ::protobuf::reflect::ProtobufValue for AddrInfo { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -989,7 +956,7 @@ impl ::protobuf::Message for Subscription { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1002,45 +969,35 @@ impl ::protobuf::Message for Subscription { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "topic", - |m: &Subscription| { &m.topic }, - |m: &mut Subscription| { &mut m.topic }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "author_id_bytes", - |m: &Subscription| { &m.author_id_bytes }, - |m: &mut Subscription| { &mut m.author_id_bytes }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "remove", - |m: &Subscription| { &m.remove }, - |m: &mut Subscription| { &mut m.remove }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "Subscription", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "topic", + |m: &Subscription| { &m.topic }, + |m: &mut Subscription| { &mut m.topic }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "author_id_bytes", + |m: &Subscription| { &m.author_id_bytes }, + |m: &mut Subscription| { &mut m.author_id_bytes }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "remove", + |m: &Subscription| { &m.remove }, + |m: &mut Subscription| { &mut m.remove }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "Subscription", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static Subscription { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const Subscription, - }; - unsafe { - instance.get(Subscription::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(Subscription::new) } } @@ -1060,8 +1017,8 @@ impl ::std::fmt::Debug for Subscription { } impl ::protobuf::reflect::ProtobufValue for Subscription { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1250,7 +1207,7 @@ impl ::protobuf::Message for ReplicationStatus { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1263,50 +1220,40 @@ impl ::protobuf::Message for ReplicationStatus { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "ok", - |m: &ReplicationStatus| { &m.ok }, - |m: &mut ReplicationStatus| { &mut m.ok }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( - "is_active", - |m: &ReplicationStatus| { &m.is_active }, - |m: &mut ReplicationStatus| { &mut m.is_active }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "current_version", - |m: &ReplicationStatus| { &m.current_version }, - |m: &mut ReplicationStatus| { &mut m.current_version }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "target_version", - |m: &ReplicationStatus| { &m.target_version }, - |m: &mut ReplicationStatus| { &mut m.target_version }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ReplicationStatus", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "ok", + |m: &ReplicationStatus| { &m.ok }, + |m: &mut ReplicationStatus| { &mut m.ok }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "is_active", + |m: &ReplicationStatus| { &m.is_active }, + |m: &mut ReplicationStatus| { &mut m.is_active }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "current_version", + |m: &ReplicationStatus| { &m.current_version }, + |m: &mut ReplicationStatus| { &mut m.current_version }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "target_version", + |m: &ReplicationStatus| { &m.target_version }, + |m: &mut ReplicationStatus| { &mut m.target_version }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "ReplicationStatus", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static ReplicationStatus { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ReplicationStatus, - }; - unsafe { - instance.get(ReplicationStatus::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(ReplicationStatus::new) } } @@ -1327,8 +1274,8 @@ impl ::std::fmt::Debug for ReplicationStatus { } impl ::protobuf::reflect::ProtobufValue for ReplicationStatus { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1502,7 +1449,7 @@ impl ::protobuf::Message for SubscriptionUpdate { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1515,45 +1462,35 @@ impl ::protobuf::Message for SubscriptionUpdate { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( - "version", - |m: &SubscriptionUpdate| { &m.version }, - |m: &mut SubscriptionUpdate| { &mut m.version }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "replication_bytes", - |m: &SubscriptionUpdate| { &m.replication_bytes }, - |m: &mut SubscriptionUpdate| { &mut m.replication_bytes }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( - "signature", - |m: &SubscriptionUpdate| { &m.signature }, - |m: &mut SubscriptionUpdate| { &mut m.signature }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "SubscriptionUpdate", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>( + "version", + |m: &SubscriptionUpdate| { &m.version }, + |m: &mut SubscriptionUpdate| { &mut m.version }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "replication_bytes", + |m: &SubscriptionUpdate| { &m.replication_bytes }, + |m: &mut SubscriptionUpdate| { &mut m.replication_bytes }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "signature", + |m: &SubscriptionUpdate| { &m.signature }, + |m: &mut SubscriptionUpdate| { &mut m.signature }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "SubscriptionUpdate", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static SubscriptionUpdate { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const SubscriptionUpdate, - }; - unsafe { - instance.get(SubscriptionUpdate::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(SubscriptionUpdate::new) } } @@ -1573,8 +1510,8 @@ impl ::std::fmt::Debug for SubscriptionUpdate { } impl ::protobuf::reflect::ProtobufValue for SubscriptionUpdate { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1603,7 +1540,7 @@ impl SignedSubscription { pub fn get_sub_part(&self) -> &Subscription { - self.sub_part.as_ref().unwrap_or_else(|| Subscription::default_instance()) + self.sub_part.as_ref().unwrap_or_else(|| ::default_instance()) } pub fn clear_sub_part(&mut self) { self.sub_part.clear(); @@ -1636,7 +1573,7 @@ impl SignedSubscription { pub fn get_update_part(&self) -> &SubscriptionUpdate { - self.update_part.as_ref().unwrap_or_else(|| SubscriptionUpdate::default_instance()) + self.update_part.as_ref().unwrap_or_else(|| ::default_instance()) } pub fn clear_update_part(&mut self) { self.update_part.clear(); @@ -1749,7 +1686,7 @@ impl ::protobuf::Message for SignedSubscription { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -1762,40 +1699,30 @@ impl ::protobuf::Message for SignedSubscription { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "sub_part", - |m: &SignedSubscription| { &m.sub_part }, - |m: &mut SignedSubscription| { &mut m.sub_part }, - )); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "update_part", - |m: &SignedSubscription| { &m.update_part }, - |m: &mut SignedSubscription| { &mut m.update_part }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "SignedSubscription", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "sub_part", + |m: &SignedSubscription| { &m.sub_part }, + |m: &mut SignedSubscription| { &mut m.sub_part }, + )); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "update_part", + |m: &SignedSubscription| { &m.update_part }, + |m: &mut SignedSubscription| { &mut m.update_part }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "SignedSubscription", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static SignedSubscription { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const SignedSubscription, - }; - unsafe { - instance.get(SignedSubscription::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(SignedSubscription::new) } } @@ -1814,8 +1741,8 @@ impl ::std::fmt::Debug for SignedSubscription { } impl ::protobuf::reflect::ProtobufValue for SignedSubscription { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -1847,174 +1774,170 @@ static file_descriptor_proto_data: &'static [u8] = b"\ b.Subscription\x1a\x15.pb.ReplicationStatus0\x01\x12A\n\x15GetSubscripti\ onUpdate\x12\x10.pb.Subscription\x1a\x16.pb.SubscriptionUpdate\x12D\n\ \x11SubmitReplication\x12\x16.pb.SignedSubscription\x1a\x15.pb.Replicati\ - onStatus0\x01J\xe7%\n\x06\x12\x04\0\0Z\x01\n\x08\n\x01\x0c\x12\x03\0\0\ - \x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\n`\n\x02\x04\0\x12\x04\x04\0\x18\ - \x01\x1aT\x20Replication\x20message\x20is\x20a\x20signable\x20data\x20st\ - ructure\x20to\x20represent\x20a\x20replication\x20scheme\n\n\n\n\x03\x04\ - \0\x01\x12\x03\x04\x08\x13\n\x9f\x02\n\x04\x04\0\x02\0\x12\x03\t\x04\x16\ - \x1a\x91\x02\x20Header\x20must\x20be\x20\"rtrade-replication\x20v0...\"\ - \x20for\x20development\x20stage,\x20this\x20is\x20a\x20required\x20secur\ - ity\x20header.\n\x20-\x20Avoid\x20collision\x20from\x20other\x20signed\ - \x20data.\n\x20-\x20Allow\x20future\x20versions\x20to\x20require\x20diff\ - erent\x20validation\x20rules.\n\x20Any\x20signer\x20must\x20understand\ - \x20every\x20header\x20tag\x20to\x20sign\x20documents.\n\n\r\n\x05\x04\0\ - \x02\0\x04\x12\x04\t\x04\x04\x14\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\t\ - \x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\t\x0b\x11\n\x0c\n\x05\x04\0\ - \x02\0\x03\x12\x03\t\x14\x15\ny\n\x04\x04\0\x02\x01\x12\x03\x0c\x04\"\ - \x1al\x20CIDs\x20is\x20the\x20list\x20of\x20contents\x20to\x20replicate.\ - \n\x20Please\x20use\x20helper\x20functions\x20GetCIDs\x20and\x20AddCIDs\ - \x20for\x20this\x20field\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x0c\x04\ - \x0c\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x0c\r\x12\n\x0c\n\x05\x04\0\ - \x02\x01\x01\x12\x03\x0c\x13\x1d\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\ - \x0c\x20!\n]\n\x04\x04\0\x02\x02\x12\x03\x0e\x04&\x1aP\x20Servers\x20lis\ - t\x20the\x20candidate\x20severs\x20to\x20replicate\x20to,\x20in\x20the\ - \x20order\x20of\x20preference.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03\ - \x0e\x04\x0c\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x0e\r\x19\n\x0c\n\x05\ - \x04\0\x02\x02\x01\x12\x03\x0e\x1a!\n\x0c\n\x05\x04\0\x02\x02\x03\x12\ - \x03\x0e$%\nH\n\x04\x04\0\x02\x03\x12\x03\x10\x04!\x1a;\x20replication_f\ - actor\x20is\x20the\x20number\x20of\x20replications\x20desired.\n\n\r\n\ - \x05\x04\0\x02\x03\x04\x12\x04\x10\x04\x0e&\n\x0c\n\x05\x04\0\x02\x03\ - \x05\x12\x03\x10\x04\t\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x10\n\x1c\n\ - \x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x10\x1f\x20\n\xab\x02\n\x04\x04\0\ - \x02\x04\x12\x03\x14\x04'\x1a\x9d\x02\x20refresh_interval_seconds\x20is\ - \x20the\x20*suggested*\x20number\x20of\x20seconds\x20to\x20wait\x20befor\ - e\x20checking\x20\n\x20if\x20a\x20remote\x20server\x20is\x20up.\x20The\ - \x20first\x20check\x20should\x20be\x20random\x20from\x200\x20to\x20refre\ - sh_interval_seconds.\n\x20Each\x20replicator\x20can\x20have\x20it's\x20o\ - wn\x20max_interval.\x20A\x20sensible\x20default\x20value\x20should\x20be\ - \x20used\x20if\x20it\x20is\x200.\n\n\r\n\x05\x04\0\x02\x04\x04\x12\x04\ - \x14\x04\x10!\n\x0c\n\x05\x04\0\x02\x04\x05\x12\x03\x14\x04\t\n\x0c\n\ - \x05\x04\0\x02\x04\x01\x12\x03\x14\n\"\n\x0c\n\x05\x04\0\x02\x04\x03\x12\ - \x03\x14%&\n\xd2\x01\n\x04\x04\0\x02\x05\x12\x03\x17\x04(\x1a\xc4\x01\ - \x20server_down_delay_seconds\x20is\x20the\x20number\x20of\x20seconds\ - \x20to\x20wait\x20after\x20a\x20server\x20is\x20down\x20before\x20the\ - \x20\n\x20next\x20reserved\x20server\x20is\x20requested\x20to\x20be\x20a\ - ctive.\x20A\x20sensible\x20default\x20value\x20should\x20be\x20used\x20i\ - f\x20it\x20is\x200.\n\n\r\n\x05\x04\0\x02\x05\x04\x12\x04\x17\x04\x14'\n\ - \x0c\n\x05\x04\0\x02\x05\x05\x12\x03\x17\x04\t\n\x0c\n\x05\x04\0\x02\x05\ - \x01\x12\x03\x17\n#\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\x17&'\n\x88\ - \x01\n\x02\x04\x01\x12\x04\x1c\0\x1e\x01\x1a|\x20ServerSource\x20is\x20a\ - \x20list\x20of\x20one\x20or\x20more\x20servers.\n\x20TODO:\x20add\x20fie\ - ld\x20to\x20allow\x20referring\x20to\x20a\x20list\x20of\x20servers\x20fr\ - om\x20another\x20file.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1c\x08\x14\n\x0b\ - \n\x04\x04\x01\x02\0\x12\x03\x1d\x04\x1b\n\r\n\x05\x04\x01\x02\0\x04\x12\ - \x04\x1d\x04\x1c\x16\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x1d\x04\x0c\n\ - \x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x1d\r\x16\n\x0c\n\x05\x04\x01\x02\0\ - \x03\x12\x03\x1d\x19\x1a\nk\n\x02\x04\x02\x12\x04!\0*\x01\x1a_\x20AddrIn\ - fo\x20can\x20be\x20used\x20to\x20ID\x20and\x20locate\x20a\x20server\x20(\ - see\x20also\x20libp2p/go-libp2p-core/peer#AddrInfo)\n\n\n\n\x03\x04\x02\ - \x01\x12\x03!\x08\x10\n\x9b\x01\n\x04\x04\x02\x02\0\x12\x03$\x04\x17\x1a\ - \x8d\x01\x20id_bytes\x20is\x20a\x20libp2p\x20peer\x20identity.\x20It\x20\ - is\x20used\x20to\x20verity\x20the\x20Peer's\x20public\x20key.\n\x20Pleas\ - e\x20use\x20helper\x20functions\x20GetID\x20and\x20SetID\x20for\x20this\ - \x20field\n\n\r\n\x05\x04\x02\x02\0\x04\x12\x04$\x04!\x12\n\x0c\n\x05\ - \x04\x02\x02\0\x05\x12\x03$\x04\t\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03$\ - \n\x12\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03$\x15\x16\n\x96\x01\n\x04\ - \x04\x02\x02\x01\x12\x03'\x04#\x1a\x88\x01\x20addrBytes\x20are\x20bytes\ - \x20of\x20Multiaddr\x20for\x20locating\x20this\x20peer.\n\x20Please\x20u\ - se\x20helper\x20functions\x20GetMultiAddrs,\x20and\x20SetMultiAddrs\x20f\ - or\x20this\x20field.\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03'\x04\x0c\ - \n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03'\r\x12\n\x0c\n\x05\x04\x02\x02\ - \x01\x01\x12\x03'\x13\x1e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03'!\"\nm\ - \n\x04\x04\x02\x02\x02\x12\x03)\x04\x18\x1a`\x20grpc\x20port\x20for\x20r\ - eplication\x20protocol.\x20will\x20be\x20optional\x20once\x20grpc\x20is\ - \x20integrated\x20into\x20multistream.\n\n\r\n\x05\x04\x02\x02\x02\x04\ - \x12\x04)\x04'#\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03)\x04\t\n\x0c\n\ - \x05\x04\x02\x02\x02\x01\x12\x03)\n\x13\n\x0c\n\x05\x04\x02\x02\x02\x03\ - \x12\x03)\x16\x17\n;\n\x02\x06\0\x12\x04.\08\x01\x1a/\x20The\x20replicat\ - or\x20provides\x20replication\x20services.\n\n\n\n\x03\x06\0\x01\x12\x03\ - .\x08\x12\nm\n\x04\x06\0\x02\0\x12\x030\x04>\x1a`\x20Add\x20is\x20used\ - \x20to\x20add\x20a\x20replication\x20to\x20this\x20server,\x20changing\ - \x20it's\x20status\x20from\x20reserved\x20to\x20active.\n\n\x0c\n\x05\ - \x06\0\x02\0\x01\x12\x030\x08\x0b\n\x0c\n\x05\x06\0\x02\0\x02\x12\x030\r\ - \x19\n\x0c\n\x05\x06\0\x02\0\x06\x12\x030$*\n\x0c\n\x05\x06\0\x02\0\x03\ - \x12\x030+<\nY\n\x04\x06\0\x02\x01\x12\x032\x04A\x1aL\x20Status\x20retur\ - ns\x20an\x20updating\x20stream\x20of\x20the\x20replication\x20status\x20\ - on\x20the\x20server.\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x032\x08\x0e\n\ - \x0c\n\x05\x06\0\x02\x01\x02\x12\x032\x10\x1c\n\x0c\n\x05\x06\0\x02\x01\ - \x06\x12\x032'-\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x032.?\nY\n\x04\x06\0\ - \x02\x02\x12\x034\x04J\x1aL\x20GetSubscriptionUpdate\x20returns\x20the\ - \x20latest\x20version\x20of\x20subscribed\x20replication\n\n\x0c\n\x05\ - \x06\0\x02\x02\x01\x12\x034\x08\x1d\n\x0c\n\x05\x06\0\x02\x02\x02\x12\ - \x034\x1f+\n\x0c\n\x05\x06\0\x02\x02\x03\x12\x0346H\n\xb5\x01\n\x04\x06\ - \0\x02\x03\x12\x037\x04R\x1a\xa7\x01\x20SubmitReplication\x20is\x20used\ - \x20by\x20client\x20agents\x20to\x20start\x20replications,\x20after\x20t\ - hey\x20\n\x20have\x20uploaded\x20the\x20files\x20and\x20retrieved\x20the\ - \x20cid,\x20and\x20collected\x20servers\x20to\x20replicate\x20too.\n\n\ - \x0c\n\x05\x06\0\x02\x03\x01\x12\x037\x08\x19\n\x0c\n\x05\x06\0\x02\x03\ - \x02\x12\x037\x1b-\n\x0c\n\x05\x06\0\x02\x03\x06\x12\x0378>\n\x0c\n\x05\ - \x06\0\x02\x03\x03\x12\x037?P\n\n\n\x02\x04\x03\x12\x04:\0A\x01\n\n\n\ - \x03\x04\x03\x01\x12\x03:\x08\x14\n\x0b\n\x04\x04\x03\x02\0\x12\x03;\x04\ - \x15\n\r\n\x05\x04\x03\x02\0\x04\x12\x04;\x04:\x15\n\x0c\n\x05\x04\x03\ - \x02\0\x05\x12\x03;\x04\n\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03;\x0b\x10\ - \n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03;\x13\x14\n\x0b\n\x04\x04\x03\x02\ - \x01\x12\x03<\x04\x1e\n\r\n\x05\x04\x03\x02\x01\x04\x12\x04<\x04;\x15\n\ - \x0c\n\x05\x04\x03\x02\x01\x05\x12\x03<\x04\t\n\x0c\n\x05\x04\x03\x02\ - \x01\x01\x12\x03<\n\x19\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03<\x1c\x1d\ - \n\x97\x01\n\x04\x04\x03\x02\x02\x12\x03@\x04\x14\x1a\x89\x01if\x20true,\ - \x20remove\x20this\x20Subscription.\nFor\x20replicator.Add,\x20deactive\ - \x20this\x20replication.\nFor\x20replicator.WaitForUpdates,\x20stop\x20r\ - eporting\x20updates.\n\n\r\n\x05\x04\x03\x02\x02\x04\x12\x04@\x04<\x1e\n\ - \x0c\n\x05\x04\x03\x02\x02\x05\x12\x03@\x04\x08\n\x0c\n\x05\x04\x03\x02\ - \x02\x01\x12\x03@\t\x0f\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03@\x12\x13\ - \n\n\n\x02\x04\x04\x12\x04C\0L\x01\n\n\n\x03\x04\x04\x01\x12\x03C\x08\ - \x19\n4\n\x04\x04\x04\x02\0\x12\x03E\x04\x10\x1a'ok\x20report\x20success\ - \x20for\x20action\x20submitted\n\n\r\n\x05\x04\x04\x02\0\x04\x12\x04E\ - \x04C\x1a\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03E\x04\x08\n\x0c\n\x05\x04\ - \x04\x02\0\x01\x12\x03E\t\x0b\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03E\x0e\ - \x0f\nT\n\x04\x04\x04\x02\x01\x12\x03G\x04\x17\x1aGis_active\x20report\ - \x20if\x20the\x20replication\x20is\x20currently\x20active\x20on\x20this\ - \x20server\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04G\x04E\x10\n\x0c\n\x05\ - \x04\x04\x02\x01\x05\x12\x03G\x04\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\ - \x12\x03G\t\x12\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03G\x15\x16\nX\n\ - \x04\x04\x04\x02\x02\x12\x03I\x04\x1e\x1aKcurrent_version\x20is\x20the\ - \x20highest\x20version\x20this\x20replicator/server\x20has\x20locally.\n\ - \n\r\n\x05\x04\x04\x02\x02\x04\x12\x04I\x04G\x17\n\x0c\n\x05\x04\x04\x02\ - \x02\x05\x12\x03I\x04\t\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03I\n\x19\n\ - \x0c\n\x05\x04\x04\x02\x02\x03\x12\x03I\x1c\x1d\no\n\x04\x04\x04\x02\x03\ - \x12\x03K\x04\x1d\x1abtarget_version\x20is\x20the\x20highest\x20version\ - \x20this\x20replicator/server\x20knows\x20about\x20and\x20can\x20verify\ - \x20to\x20exist.\n\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04K\x04I\x1e\n\x0c\ - \n\x05\x04\x04\x02\x03\x05\x12\x03K\x04\t\n\x0c\n\x05\x04\x04\x02\x03\ - \x01\x12\x03K\n\x18\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03K\x1b\x1c\n\n\ - \n\x02\x04\x05\x12\x04N\0U\x01\n\n\n\x03\x04\x05\x01\x12\x03N\x08\x1a\n0\ - \n\x04\x04\x05\x02\0\x12\x03P\x04\x16\x1a#strictly\x20increasing\x20vers\ - ion\x20number\n\n\r\n\x05\x04\x05\x02\0\x04\x12\x04P\x04N\x1b\n\x0c\n\ + onStatus0\x01J\x8d&\n\x06\x12\x04\0\0Z\x01\n\x08\n\x01\x0c\x12\x03\0\0\ + \x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\na\n\x02\x04\0\x12\x04\x04\0\x18\ + \x01\x1aU\x20Replication\x20message\x20is\x20a\x20signable\x20data\x20st\ + ructure\x20to\x20represent\x20a\x20replication\x20scheme\r\n\n\n\n\x03\ + \x04\0\x01\x12\x03\x04\x08\x13\n\xa3\x02\n\x04\x04\0\x02\0\x12\x03\t\x04\ + \x16\x1a\x95\x02\x20Header\x20must\x20be\x20\"rtrade-replication\x20v0..\ + .\"\x20for\x20development\x20stage,\x20this\x20is\x20a\x20required\x20se\ + curity\x20header.\r\n\x20-\x20Avoid\x20collision\x20from\x20other\x20sig\ + ned\x20data.\r\n\x20-\x20Allow\x20future\x20versions\x20to\x20require\ + \x20different\x20validation\x20rules.\r\n\x20Any\x20signer\x20must\x20un\ + derstand\x20every\x20header\x20tag\x20to\x20sign\x20documents.\r\n\n\r\n\ + \x05\x04\0\x02\0\x04\x12\x04\t\x04\x04\x14\n\x0c\n\x05\x04\0\x02\0\x05\ + \x12\x03\t\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\t\x0b\x11\n\x0c\n\ + \x05\x04\0\x02\0\x03\x12\x03\t\x14\x15\n{\n\x04\x04\0\x02\x01\x12\x03\ + \x0c\x04\"\x1an\x20CIDs\x20is\x20the\x20list\x20of\x20contents\x20to\x20\ + replicate.\r\n\x20Please\x20use\x20helper\x20functions\x20GetCIDs\x20and\ + \x20AddCIDs\x20for\x20this\x20field\r\n\n\x0c\n\x05\x04\0\x02\x01\x04\ + \x12\x03\x0c\x04\x0c\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x0c\r\x12\n\ + \x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x0c\x13\x1d\n\x0c\n\x05\x04\0\x02\ + \x01\x03\x12\x03\x0c\x20!\n^\n\x04\x04\0\x02\x02\x12\x03\x0e\x04&\x1aQ\ + \x20Servers\x20list\x20the\x20candidate\x20severs\x20to\x20replicate\x20\ + to,\x20in\x20the\x20order\x20of\x20preference.\r\n\n\x0c\n\x05\x04\0\x02\ + \x02\x04\x12\x03\x0e\x04\x0c\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x0e\r\ + \x19\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x0e\x1a!\n\x0c\n\x05\x04\0\ + \x02\x02\x03\x12\x03\x0e$%\nI\n\x04\x04\0\x02\x03\x12\x03\x10\x04!\x1a<\ + \x20replication_factor\x20is\x20the\x20number\x20of\x20replications\x20d\ + esired.\r\n\n\r\n\x05\x04\0\x02\x03\x04\x12\x04\x10\x04\x0e&\n\x0c\n\x05\ + \x04\0\x02\x03\x05\x12\x03\x10\x04\t\n\x0c\n\x05\x04\0\x02\x03\x01\x12\ + \x03\x10\n\x1c\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x10\x1f\x20\n\xae\ + \x02\n\x04\x04\0\x02\x04\x12\x03\x14\x04'\x1a\xa0\x02\x20refresh_interva\ + l_seconds\x20is\x20the\x20*suggested*\x20number\x20of\x20seconds\x20to\ + \x20wait\x20before\x20checking\x20\r\n\x20if\x20a\x20remote\x20server\ + \x20is\x20up.\x20The\x20first\x20check\x20should\x20be\x20random\x20from\ + \x200\x20to\x20refresh_interval_seconds.\r\n\x20Each\x20replicator\x20ca\ + n\x20have\x20it's\x20own\x20max_interval.\x20A\x20sensible\x20default\ + \x20value\x20should\x20be\x20used\x20if\x20it\x20is\x200.\r\n\n\r\n\x05\ + \x04\0\x02\x04\x04\x12\x04\x14\x04\x10!\n\x0c\n\x05\x04\0\x02\x04\x05\ + \x12\x03\x14\x04\t\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x14\n\"\n\x0c\n\ + \x05\x04\0\x02\x04\x03\x12\x03\x14%&\n\xd4\x01\n\x04\x04\0\x02\x05\x12\ + \x03\x17\x04(\x1a\xc6\x01\x20server_down_delay_seconds\x20is\x20the\x20n\ + umber\x20of\x20seconds\x20to\x20wait\x20after\x20a\x20server\x20is\x20do\ + wn\x20before\x20the\x20\r\n\x20next\x20reserved\x20server\x20is\x20reque\ + sted\x20to\x20be\x20active.\x20A\x20sensible\x20default\x20value\x20shou\ + ld\x20be\x20used\x20if\x20it\x20is\x200.\r\n\n\r\n\x05\x04\0\x02\x05\x04\ + \x12\x04\x17\x04\x14'\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x03\x17\x04\t\n\ + \x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x17\n#\n\x0c\n\x05\x04\0\x02\x05\ + \x03\x12\x03\x17&'\n\x8a\x01\n\x02\x04\x01\x12\x04\x1c\0\x1e\x01\x1a~\ + \x20ServerSource\x20is\x20a\x20list\x20of\x20one\x20or\x20more\x20server\ + s.\r\n\x20TODO:\x20add\x20field\x20to\x20allow\x20referring\x20to\x20a\ + \x20list\x20of\x20servers\x20from\x20another\x20file.\r\n\n\n\n\x03\x04\ + \x01\x01\x12\x03\x1c\x08\x14\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x1d\x04\ + \x1b\n\r\n\x05\x04\x01\x02\0\x04\x12\x04\x1d\x04\x1c\x16\n\x0c\n\x05\x04\ + \x01\x02\0\x06\x12\x03\x1d\x04\x0c\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\ + \x1d\r\x16\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x1d\x19\x1a\nl\n\x02\ + \x04\x02\x12\x04!\0*\x01\x1a`\x20AddrInfo\x20can\x20be\x20used\x20to\x20\ + ID\x20and\x20locate\x20a\x20server\x20(see\x20also\x20libp2p/go-libp2p-c\ + ore/peer#AddrInfo)\r\n\n\n\n\x03\x04\x02\x01\x12\x03!\x08\x10\n\x9d\x01\ + \n\x04\x04\x02\x02\0\x12\x03$\x04\x17\x1a\x8f\x01\x20id_bytes\x20is\x20a\ + \x20libp2p\x20peer\x20identity.\x20It\x20is\x20used\x20to\x20verity\x20t\ + he\x20Peer's\x20public\x20key.\r\n\x20Please\x20use\x20helper\x20functio\ + ns\x20GetID\x20and\x20SetID\x20for\x20this\x20field\r\n\n\r\n\x05\x04\ + \x02\x02\0\x04\x12\x04$\x04!\x12\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03$\ + \x04\t\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03$\n\x12\n\x0c\n\x05\x04\x02\ + \x02\0\x03\x12\x03$\x15\x16\n\x98\x01\n\x04\x04\x02\x02\x01\x12\x03'\x04\ + #\x1a\x8a\x01\x20addrBytes\x20are\x20bytes\x20of\x20Multiaddr\x20for\x20\ + locating\x20this\x20peer.\r\n\x20Please\x20use\x20helper\x20functions\ + \x20GetMultiAddrs,\x20and\x20SetMultiAddrs\x20for\x20this\x20field.\r\n\ + \n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03'\x04\x0c\n\x0c\n\x05\x04\x02\ + \x02\x01\x05\x12\x03'\r\x12\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03'\x13\ + \x1e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03'!\"\nn\n\x04\x04\x02\x02\ + \x02\x12\x03)\x04\x18\x1aa\x20grpc\x20port\x20for\x20replication\x20prot\ + ocol.\x20will\x20be\x20optional\x20once\x20grpc\x20is\x20integrated\x20i\ + nto\x20multistream.\r\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04)\x04'#\n\ + \x0c\n\x05\x04\x02\x02\x02\x05\x12\x03)\x04\t\n\x0c\n\x05\x04\x02\x02\ + \x02\x01\x12\x03)\n\x13\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03)\x16\x17\ + \n<\n\x02\x06\0\x12\x04.\08\x01\x1a0\x20The\x20replicator\x20provides\ + \x20replication\x20services.\r\n\n\n\n\x03\x06\0\x01\x12\x03.\x08\x12\nn\ + \n\x04\x06\0\x02\0\x12\x030\x04>\x1aa\x20Add\x20is\x20used\x20to\x20add\ + \x20a\x20replication\x20to\x20this\x20server,\x20changing\x20it's\x20sta\ + tus\x20from\x20reserved\x20to\x20active.\r\n\n\x0c\n\x05\x06\0\x02\0\x01\ + \x12\x030\x08\x0b\n\x0c\n\x05\x06\0\x02\0\x02\x12\x030\r\x19\n\x0c\n\x05\ + \x06\0\x02\0\x06\x12\x030$*\n\x0c\n\x05\x06\0\x02\0\x03\x12\x030+<\nZ\n\ + \x04\x06\0\x02\x01\x12\x032\x04A\x1aM\x20Status\x20returns\x20an\x20upda\ + ting\x20stream\x20of\x20the\x20replication\x20status\x20on\x20the\x20ser\ + ver.\r\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x032\x08\x0e\n\x0c\n\x05\x06\ + \0\x02\x01\x02\x12\x032\x10\x1c\n\x0c\n\x05\x06\0\x02\x01\x06\x12\x032'-\ + \n\x0c\n\x05\x06\0\x02\x01\x03\x12\x032.?\nZ\n\x04\x06\0\x02\x02\x12\x03\ + 4\x04J\x1aM\x20GetSubscriptionUpdate\x20returns\x20the\x20latest\x20vers\ + ion\x20of\x20subscribed\x20replication\r\n\n\x0c\n\x05\x06\0\x02\x02\x01\ + \x12\x034\x08\x1d\n\x0c\n\x05\x06\0\x02\x02\x02\x12\x034\x1f+\n\x0c\n\ + \x05\x06\0\x02\x02\x03\x12\x0346H\n\xb7\x01\n\x04\x06\0\x02\x03\x12\x037\ + \x04R\x1a\xa9\x01\x20SubmitReplication\x20is\x20used\x20by\x20client\x20\ + agents\x20to\x20start\x20replications,\x20after\x20they\x20\r\n\x20have\ + \x20uploaded\x20the\x20files\x20and\x20retrieved\x20the\x20cid,\x20and\ + \x20collected\x20servers\x20to\x20replicate\x20too.\r\n\n\x0c\n\x05\x06\ + \0\x02\x03\x01\x12\x037\x08\x19\n\x0c\n\x05\x06\0\x02\x03\x02\x12\x037\ + \x1b-\n\x0c\n\x05\x06\0\x02\x03\x06\x12\x0378>\n\x0c\n\x05\x06\0\x02\x03\ + \x03\x12\x037?P\n\n\n\x02\x04\x03\x12\x04:\0A\x01\n\n\n\x03\x04\x03\x01\ + \x12\x03:\x08\x14\n\x0b\n\x04\x04\x03\x02\0\x12\x03;\x04\x15\n\r\n\x05\ + \x04\x03\x02\0\x04\x12\x04;\x04:\x15\n\x0c\n\x05\x04\x03\x02\0\x05\x12\ + \x03;\x04\n\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03;\x0b\x10\n\x0c\n\x05\ + \x04\x03\x02\0\x03\x12\x03;\x13\x14\n\x0b\n\x04\x04\x03\x02\x01\x12\x03<\ + \x04\x1e\n\r\n\x05\x04\x03\x02\x01\x04\x12\x04<\x04;\x15\n\x0c\n\x05\x04\ + \x03\x02\x01\x05\x12\x03<\x04\t\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03<\ + \n\x19\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03<\x1c\x1d\n\x9a\x01\n\x04\ + \x04\x03\x02\x02\x12\x03@\x04\x14\x1a\x8c\x01if\x20true,\x20remove\x20th\ + is\x20Subscription.\r\nFor\x20replicator.Add,\x20deactive\x20this\x20rep\ + lication.\r\nFor\x20replicator.WaitForUpdates,\x20stop\x20reporting\x20u\ + pdates.\r\n\n\r\n\x05\x04\x03\x02\x02\x04\x12\x04@\x04<\x1e\n\x0c\n\x05\ + \x04\x03\x02\x02\x05\x12\x03@\x04\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\ + \x12\x03@\t\x0f\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03@\x12\x13\n\n\n\ + \x02\x04\x04\x12\x04C\0L\x01\n\n\n\x03\x04\x04\x01\x12\x03C\x08\x19\n5\n\ + \x04\x04\x04\x02\0\x12\x03E\x04\x10\x1a(ok\x20report\x20success\x20for\ + \x20action\x20submitted\r\n\n\r\n\x05\x04\x04\x02\0\x04\x12\x04E\x04C\ + \x1a\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03E\x04\x08\n\x0c\n\x05\x04\x04\ + \x02\0\x01\x12\x03E\t\x0b\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03E\x0e\x0f\ + \nU\n\x04\x04\x04\x02\x01\x12\x03G\x04\x17\x1aHis_active\x20report\x20if\ + \x20the\x20replication\x20is\x20currently\x20active\x20on\x20this\x20ser\ + ver\r\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04G\x04E\x10\n\x0c\n\x05\x04\ + \x04\x02\x01\x05\x12\x03G\x04\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\ + \x03G\t\x12\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03G\x15\x16\nY\n\x04\ + \x04\x04\x02\x02\x12\x03I\x04\x1e\x1aLcurrent_version\x20is\x20the\x20hi\ + ghest\x20version\x20this\x20replicator/server\x20has\x20locally.\r\n\n\r\ + \n\x05\x04\x04\x02\x02\x04\x12\x04I\x04G\x17\n\x0c\n\x05\x04\x04\x02\x02\ + \x05\x12\x03I\x04\t\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03I\n\x19\n\x0c\ + \n\x05\x04\x04\x02\x02\x03\x12\x03I\x1c\x1d\np\n\x04\x04\x04\x02\x03\x12\ + \x03K\x04\x1d\x1actarget_version\x20is\x20the\x20highest\x20version\x20t\ + his\x20replicator/server\x20knows\x20about\x20and\x20can\x20verify\x20to\ + \x20exist.\r\n\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04K\x04I\x1e\n\x0c\n\ + \x05\x04\x04\x02\x03\x05\x12\x03K\x04\t\n\x0c\n\x05\x04\x04\x02\x03\x01\ + \x12\x03K\n\x18\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03K\x1b\x1c\n\n\n\ + \x02\x04\x05\x12\x04N\0U\x01\n\n\n\x03\x04\x05\x01\x12\x03N\x08\x1a\n1\n\ + \x04\x04\x05\x02\0\x12\x03P\x04\x16\x1a$strictly\x20increasing\x20versio\ + n\x20number\r\n\n\r\n\x05\x04\x05\x02\0\x04\x12\x04P\x04N\x1b\n\x0c\n\ \x05\x04\x05\x02\0\x05\x12\x03P\x04\t\n\x0c\n\x05\x04\x05\x02\0\x01\x12\ - \x03P\n\x11\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03P\x14\x15\n6\n\x04\x04\ - \x05\x02\x01\x12\x03R\x04\x20\x1a)replication\x20file\x20is\x20in\x20byt\ - es\x20for\x20signing\n\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04R\x04P\x16\n\ - \x0c\n\x05\x04\x05\x02\x01\x05\x12\x03R\x04\t\n\x0c\n\x05\x04\x05\x02\ + \x03P\n\x11\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03P\x14\x15\n7\n\x04\x04\ + \x05\x02\x01\x12\x03R\x04\x20\x1a*replication\x20file\x20is\x20in\x20byt\ + es\x20for\x20signing\r\n\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04R\x04P\x16\ + \n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03R\x04\t\n\x0c\n\x05\x04\x05\x02\ \x01\x01\x12\x03R\n\x1b\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03R\x1e\x1f\ - \n\x84\x01\n\x04\x04\x05\x02\x02\x12\x03T\x04\x18\x1awsignature\x20signs\ + \n\x85\x01\n\x04\x04\x05\x02\x02\x12\x03T\x04\x18\x1axsignature\x20signs\ \x20the\x20Subscription\x20and\x20above\x20data\x20in\x20length\x20delim\ - ited\x20form\x20in\x20the\x20order\x20topic|author|version|replication\n\ - \n\r\n\x05\x04\x05\x02\x02\x04\x12\x04T\x04R\x20\n\x0c\n\x05\x04\x05\x02\ - \x02\x05\x12\x03T\x04\t\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03T\n\x13\n\ - \x0c\n\x05\x04\x05\x02\x02\x03\x12\x03T\x16\x17\n\n\n\x02\x04\x06\x12\ - \x04W\0Z\x01\n\n\n\x03\x04\x06\x01\x12\x03W\x08\x1a\n\x0b\n\x04\x04\x06\ - \x02\0\x12\x03X\x04\x1e\n\r\n\x05\x04\x06\x02\0\x04\x12\x04X\x04W\x1b\n\ - \x0c\n\x05\x04\x06\x02\0\x06\x12\x03X\x04\x10\n\x0c\n\x05\x04\x06\x02\0\ - \x01\x12\x03X\x11\x19\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03X\x1c\x1d\n\ - \x0b\n\x04\x04\x06\x02\x01\x12\x03Y\x04'\n\r\n\x05\x04\x06\x02\x01\x04\ - \x12\x04Y\x04X\x1e\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03Y\x04\x16\n\ - \x0c\n\x05\x04\x06\x02\x01\x01\x12\x03Y\x17\"\n\x0c\n\x05\x04\x06\x02\ + ited\x20form\x20in\x20the\x20order\x20topic|author|version|replication\r\ + \n\n\r\n\x05\x04\x05\x02\x02\x04\x12\x04T\x04R\x20\n\x0c\n\x05\x04\x05\ + \x02\x02\x05\x12\x03T\x04\t\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03T\n\ + \x13\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03T\x16\x17\n\n\n\x02\x04\x06\ + \x12\x04W\0Z\x01\n\n\n\x03\x04\x06\x01\x12\x03W\x08\x1a\n\x0b\n\x04\x04\ + \x06\x02\0\x12\x03X\x04\x1e\n\r\n\x05\x04\x06\x02\0\x04\x12\x04X\x04W\ + \x1b\n\x0c\n\x05\x04\x06\x02\0\x06\x12\x03X\x04\x10\n\x0c\n\x05\x04\x06\ + \x02\0\x01\x12\x03X\x11\x19\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03X\x1c\ + \x1d\n\x0b\n\x04\x04\x06\x02\x01\x12\x03Y\x04'\n\r\n\x05\x04\x06\x02\x01\ + \x04\x12\x04Y\x04X\x1e\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03Y\x04\x16\ + \n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03Y\x17\"\n\x0c\n\x05\x04\x06\x02\ \x01\x03\x12\x03Y%&b\x06proto3\ "; -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/rs/src/replication_grpc.rs b/rs/src/replication_grpc.rs index 389f0ba..18c97a2 100644 --- a/rs/src/replication_grpc.rs +++ b/rs/src/replication_grpc.rs @@ -97,7 +97,7 @@ impl ReplicatorClient { pub fn submit_replication(&self, req: &super::replication::SignedSubscription) -> ::grpcio::Result<::grpcio::ClientSStreamReceiver> { self.submit_replication_opt(req, ::grpcio::CallOption::default()) } - pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { + pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { self.client.spawn(f) } } diff --git a/rs/src/status.rs b/rs/src/status.rs index 1907164..90dc539 100644 --- a/rs/src/status.rs +++ b/rs/src/status.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `status.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct VersionResponse { @@ -131,7 +128,7 @@ impl ::protobuf::Message for VersionResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -144,35 +141,25 @@ impl ::protobuf::Message for VersionResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "version", - |m: &VersionResponse| { &m.version }, - |m: &mut VersionResponse| { &mut m.version }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "VersionResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "version", + |m: &VersionResponse| { &m.version }, + |m: &mut VersionResponse| { &mut m.version }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "VersionResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static VersionResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const VersionResponse, - }; - unsafe { - instance.get(VersionResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(VersionResponse::new) } } @@ -190,8 +177,8 @@ impl ::std::fmt::Debug for VersionResponse { } impl ::protobuf::reflect::ProtobufValue for VersionResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -301,7 +288,7 @@ impl ::protobuf::Message for StatusResponse { os.write_string(1, &self.host)?; } if self.status != APISTATUS::ONLINE { - os.write_enum(2, self.status.value())?; + os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.status))?; } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) @@ -325,7 +312,7 @@ impl ::protobuf::Message for StatusResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -338,40 +325,30 @@ impl ::protobuf::Message for StatusResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "host", - |m: &StatusResponse| { &m.host }, - |m: &mut StatusResponse| { &mut m.host }, - )); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( - "status", - |m: &StatusResponse| { &m.status }, - |m: &mut StatusResponse| { &mut m.status }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "StatusResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "host", + |m: &StatusResponse| { &m.host }, + |m: &mut StatusResponse| { &mut m.host }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "status", + |m: &StatusResponse| { &m.status }, + |m: &mut StatusResponse| { &mut m.status }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "StatusResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static StatusResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const StatusResponse, - }; - unsafe { - instance.get(StatusResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(StatusResponse::new) } } @@ -390,8 +367,8 @@ impl ::std::fmt::Debug for StatusResponse { } impl ::protobuf::reflect::ProtobufValue for StatusResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -429,15 +406,10 @@ impl ::protobuf::ProtobufEnum for APISTATUS { } fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("APISTATUS", file_descriptor_proto()) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new_pb_name::("APISTATUS", file_descriptor_proto()) + }) } } @@ -451,8 +423,8 @@ impl ::std::default::Default for APISTATUS { } impl ::protobuf::reflect::ProtobufValue for APISTATUS { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self)) } } @@ -464,74 +436,69 @@ static file_descriptor_proto_data: &'static [u8] = b"\ E\x10\0\x12\x0b\n\x07PURGING\x10\x01\x12\x18\n\x14DEGRADED_PERFORMANCE\ \x10\x02\x12\t\n\x05ERROR\x10\x032c\n\tStatusAPI\x12+\n\x07Version\x12\t\ .pb.Empty\x1a\x13.pb.VersionResponse\"\0\x12)\n\x06Status\x12\t.pb.Empty\ - \x1a\x12.pb.StatusResponse\"\0J\x8a\r\n\x06\x12\x04\0\0&\x01\n\x08\n\x01\ + \x1a\x12.pb.StatusResponse\"\0J\x99\r\n\x06\x12\x04\0\0&\x01\n\x08\n\x01\ \x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\n\t\n\x02\x03\0\ - \x12\x03\x02\x07\x13\nH\n\x02\x06\0\x12\x04\x05\0\n\x01\x1a<\x20provides\ + \x12\x03\x02\x07\x13\nI\n\x02\x06\0\x12\x04\x05\0\n\x01\x1a=\x20provides\ \x20utilities\x20to\x20retrieve\x20api\x20status\x20information\x20from\ - \n\n\n\n\x03\x06\0\x01\x12\x03\x05\x08\x11\nB\n\x04\x06\0\x02\0\x12\x03\ - \x07\x044\x1a5\x20Version\x20is\x20used\x20to\x20retrieve\x20api\x20vers\ - ion\x20information\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x07\x08\x0f\n\ - \x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x10\x15\n\x0c\n\x05\x06\0\x02\0\ - \x03\x12\x03\x07\x20/\nA\n\x04\x06\0\x02\x01\x12\x03\t\x042\x1a4\x20Stat\ - us\x20is\x20used\x20to\x20retrieve\x20api\x20status\x20information.\n\n\ - \x0c\n\x05\x06\0\x02\x01\x01\x12\x03\t\x08\x0e\n\x0c\n\x05\x06\0\x02\x01\ - \x02\x12\x03\t\x0f\x14\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t\x1f-\nG\n\ - \x02\x04\0\x12\x04\r\0\x10\x01\x1a;\x20VersionResponse\x20is\x20used\x20\ - to\x20return\x20API\x20version\x20information\n\n\n\n\x03\x04\0\x01\x12\ - \x03\r\x08\x17\nY\n\x04\x04\0\x02\0\x12\x03\x0f\x04\x17\x1aL\x20version\ - \x20denotes\x20the\x20github\x20version\x20that\x20was\x20present\x20whe\ - n\x20the\x20api\x20was\x20built\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x0f\ - \x04\r\x19\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x0f\x04\n\n\x0c\n\x05\x04\ - \0\x02\0\x01\x12\x03\x0f\x0b\x12\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x0f\ - \x15\x16\nP\n\x02\x05\0\x12\x04\x13\0\x1d\x01\x1aD\x20APISTATUS\x20is\ - \x20an\x20enum\x20to\x20return\x20a\x20concise\x20description\x20of\x20a\ - pi\x20status\n\n\n\n\x03\x05\0\x01\x12\x03\x13\x05\x0e\nA\n\x04\x05\0\ - \x02\0\x12\x03\x15\x04\x0f\x1a4\x20ONLINE\x20indicates\x20everything\x20\ - is\x20working\x20as\x20expected\n\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\ - \x15\x04\n\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x15\r\x0e\n\x99\x01\n\x04\ - \x05\0\x02\x01\x12\x03\x18\x04\x10\x1a\x8b\x01\x20PURGING\x20indicates\ - \x20the\x20system\x20is\x20undergoing\x20data\x20removal\n\x20a\x20purgi\ - ng\x20system\x20is\x20not\x20available\x20for\x20use\x20unless\x20all\ - \x20other\x20nodes\x20are\x20unavailable\n\n\x0c\n\x05\x05\0\x02\x01\x01\ - \x12\x03\x18\x04\x0b\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x18\x0e\x0f\n\ - V\n\x04\x05\0\x02\x02\x12\x03\x1a\x04\x1d\x1aI\x20DEGRADED_PERFORMANCE\ - \x20indicates\x20the\x20system\x20is\x20currently\x20under\x20heavy\x20l\ - oad\n\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x1a\x04\x18\n\x0c\n\x05\x05\ - \0\x02\x02\x02\x12\x03\x1a\x1b\x1c\nh\n\x04\x05\0\x02\x03\x12\x03\x1c\ - \x04\x0e\x1a[\x20ERROR\x20indicates\x20that\x20the\x20system\x20is\x20cu\ - rrently\x20experiencing\x20an\x20error\x20and\x20should\x20not\x20be\x20\ - used\n\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x1c\x04\t\n\x0c\n\x05\x05\0\ - \x02\x03\x02\x12\x03\x1c\x0c\r\nE\n\x02\x04\x01\x12\x04\x20\0&\x01\x1a9\ - \x20StatusResponse\x20is\x20used\x20to\x20return\x20API\x20status\x20inf\ - ormation\n\n\n\n\x03\x04\x01\x01\x12\x03\x20\x08\x16\n\xc1\x01\n\x04\x04\ - \x01\x02\0\x12\x03#\x04\x14\x1a\xb3\x01\x20host\x20is\x20an\x20identifie\ - r\x20for\x20the\x20host\x20of\x20the\x20system\x20responding\x20to\x20th\ - e\x20request.\n\x20it\x20may\x20or\x20may\x20not\x20be\x20the\x20hostnam\ - e,\x20it\x20is\x20up\x20to\x20the\x20implementer\x20of\x20the\x20service\ - \x20to\x20choose\x20what\x20is\x20here\n\n\r\n\x05\x04\x01\x02\0\x04\x12\ - \x04#\x04\x20\x18\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03#\x04\n\n\x0c\n\ - \x05\x04\x01\x02\0\x01\x12\x03#\x0b\x0f\n\x0c\n\x05\x04\x01\x02\0\x03\ - \x12\x03#\x12\x13\nO\n\x04\x04\x01\x02\x01\x12\x03%\x04\x19\x1aB\x20stat\ - us\x20contains\x20a\x20status\x20enum\x20indicating\x20the\x20state\x20o\ - f\x20the\x20system\n\n\r\n\x05\x04\x01\x02\x01\x04\x12\x04%\x04#\x14\n\ - \x0c\n\x05\x04\x01\x02\x01\x06\x12\x03%\x04\r\n\x0c\n\x05\x04\x01\x02\ - \x01\x01\x12\x03%\x0e\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03%\x17\ - \x18b\x06proto3\ + \r\n\n\n\n\x03\x06\0\x01\x12\x03\x05\x08\x11\nC\n\x04\x06\0\x02\0\x12\ + \x03\x07\x044\x1a6\x20Version\x20is\x20used\x20to\x20retrieve\x20api\x20\ + version\x20information\r\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x07\x08\ + \x0f\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x10\x15\n\x0c\n\x05\x06\0\ + \x02\0\x03\x12\x03\x07\x20/\nB\n\x04\x06\0\x02\x01\x12\x03\t\x042\x1a5\ + \x20Status\x20is\x20used\x20to\x20retrieve\x20api\x20status\x20informati\ + on.\r\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x03\t\x08\x0e\n\x0c\n\x05\x06\ + \0\x02\x01\x02\x12\x03\t\x0f\x14\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t\ + \x1f-\nH\n\x02\x04\0\x12\x04\r\0\x10\x01\x1a<\x20VersionResponse\x20is\ + \x20used\x20to\x20return\x20API\x20version\x20information\r\n\n\n\n\x03\ + \x04\0\x01\x12\x03\r\x08\x17\nZ\n\x04\x04\0\x02\0\x12\x03\x0f\x04\x17\ + \x1aM\x20version\x20denotes\x20the\x20github\x20version\x20that\x20was\ + \x20present\x20when\x20the\x20api\x20was\x20built\r\n\n\r\n\x05\x04\0\ + \x02\0\x04\x12\x04\x0f\x04\r\x19\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x0f\ + \x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x0f\x0b\x12\n\x0c\n\x05\x04\0\ + \x02\0\x03\x12\x03\x0f\x15\x16\nQ\n\x02\x05\0\x12\x04\x13\0\x1d\x01\x1aE\ + \x20APISTATUS\x20is\x20an\x20enum\x20to\x20return\x20a\x20concise\x20des\ + cription\x20of\x20api\x20status\r\n\n\n\n\x03\x05\0\x01\x12\x03\x13\x05\ + \x0e\nB\n\x04\x05\0\x02\0\x12\x03\x15\x04\x0f\x1a5\x20ONLINE\x20indicate\ + s\x20everything\x20is\x20working\x20as\x20expected\r\n\n\x0c\n\x05\x05\0\ + \x02\0\x01\x12\x03\x15\x04\n\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x15\r\ + \x0e\n\x9b\x01\n\x04\x05\0\x02\x01\x12\x03\x18\x04\x10\x1a\x8d\x01\x20PU\ + RGING\x20indicates\x20the\x20system\x20is\x20undergoing\x20data\x20remov\ + al\r\n\x20a\x20purging\x20system\x20is\x20not\x20available\x20for\x20use\ + \x20unless\x20all\x20other\x20nodes\x20are\x20unavailable\r\n\n\x0c\n\ + \x05\x05\0\x02\x01\x01\x12\x03\x18\x04\x0b\n\x0c\n\x05\x05\0\x02\x01\x02\ + \x12\x03\x18\x0e\x0f\nW\n\x04\x05\0\x02\x02\x12\x03\x1a\x04\x1d\x1aJ\x20\ + DEGRADED_PERFORMANCE\x20indicates\x20the\x20system\x20is\x20currently\ + \x20under\x20heavy\x20load\r\n\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x1a\ + \x04\x18\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x1a\x1b\x1c\ni\n\x04\x05\ + \0\x02\x03\x12\x03\x1c\x04\x0e\x1a\\\x20ERROR\x20indicates\x20that\x20th\ + e\x20system\x20is\x20currently\x20experiencing\x20an\x20error\x20and\x20\ + should\x20not\x20be\x20used\r\n\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\ + \x1c\x04\t\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x1c\x0c\r\nF\n\x02\x04\ + \x01\x12\x04\x20\0&\x01\x1a:\x20StatusResponse\x20is\x20used\x20to\x20re\ + turn\x20API\x20status\x20information\r\n\n\n\n\x03\x04\x01\x01\x12\x03\ + \x20\x08\x16\n\xc3\x01\n\x04\x04\x01\x02\0\x12\x03#\x04\x14\x1a\xb5\x01\ + \x20host\x20is\x20an\x20identifier\x20for\x20the\x20host\x20of\x20the\ + \x20system\x20responding\x20to\x20the\x20request.\r\n\x20it\x20may\x20or\ + \x20may\x20not\x20be\x20the\x20hostname,\x20it\x20is\x20up\x20to\x20the\ + \x20implementer\x20of\x20the\x20service\x20to\x20choose\x20what\x20is\ + \x20here\r\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04#\x04\x20\x18\n\x0c\n\ + \x05\x04\x01\x02\0\x05\x12\x03#\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\ + \x03#\x0b\x0f\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03#\x12\x13\nP\n\x04\ + \x04\x01\x02\x01\x12\x03%\x04\x19\x1aC\x20status\x20contains\x20a\x20sta\ + tus\x20enum\x20indicating\x20the\x20state\x20of\x20the\x20system\r\n\n\r\ + \n\x05\x04\x01\x02\x01\x04\x12\x04%\x04#\x14\n\x0c\n\x05\x04\x01\x02\x01\ + \x06\x12\x03%\x04\r\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03%\x0e\x14\n\ + \x0c\n\x05\x04\x01\x02\x01\x03\x12\x03%\x17\x18b\x06proto3\ "; -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/rs/src/status_grpc.rs b/rs/src/status_grpc.rs index 38843b9..a4f3e1b 100644 --- a/rs/src/status_grpc.rs +++ b/rs/src/status_grpc.rs @@ -75,7 +75,7 @@ impl StatusApiClient { pub fn status_async(&self, req: &super::util::Empty) -> ::grpcio::Result<::grpcio::ClientUnaryReceiver> { self.status_async_opt(req, ::grpcio::CallOption::default()) } - pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { + pub fn spawn(&self, f: F) where F: ::futures::Future + Send + 'static { self.client.spawn(f) } } diff --git a/rs/src/util.rs b/rs/src/util.rs index 5893336..f0b644c 100644 --- a/rs/src/util.rs +++ b/rs/src/util.rs @@ -1,11 +1,12 @@ -// This file is generated by rust-protobuf 2.10.2. Do not edit +// This file is generated by rust-protobuf 2.17.0. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] -#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_attributes)] +#![rustfmt::skip] #![allow(box_pointers)] #![allow(dead_code)] @@ -14,17 +15,13 @@ #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] -#![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] //! Generated file from `util.proto` -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - /// Generated files are compatible only with the same version /// of protobuf runtime. -// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_10_2; +// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_17_0; #[derive(PartialEq,Clone,Default)] pub struct PutResponse { @@ -131,7 +128,7 @@ impl ::protobuf::Message for PutResponse { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -144,35 +141,25 @@ impl ::protobuf::Message for PutResponse { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( - "hash", - |m: &PutResponse| { &m.hash }, - |m: &mut PutResponse| { &mut m.hash }, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "PutResponse", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "hash", + |m: &PutResponse| { &m.hash }, + |m: &mut PutResponse| { &mut m.hash }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "PutResponse", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static PutResponse { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const PutResponse, - }; - unsafe { - instance.get(PutResponse::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(PutResponse::new) } } @@ -190,8 +177,8 @@ impl ::std::fmt::Debug for PutResponse { } impl ::protobuf::reflect::ProtobufValue for PutResponse { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } @@ -263,7 +250,7 @@ impl ::protobuf::Message for Empty { fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box { + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { self } @@ -276,30 +263,20 @@ impl ::protobuf::Message for Empty { } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let fields = ::std::vec::Vec::new(); - ::protobuf::reflect::MessageDescriptor::new::( - "Empty", - fields, - file_descriptor_proto() - ) - }) - } + static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT; + descriptor.get(|| { + let fields = ::std::vec::Vec::new(); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "Empty", + fields, + file_descriptor_proto() + ) + }) } fn default_instance() -> &'static Empty { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const Empty, - }; - unsafe { - instance.get(Empty::new) - } + static instance: ::protobuf::rt::LazyV2 = ::protobuf::rt::LazyV2::INIT; + instance.get(Empty::new) } } @@ -316,39 +293,35 @@ impl ::std::fmt::Debug for Empty { } impl ::protobuf::reflect::ProtobufValue for Empty { - fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { - ::protobuf::reflect::ProtobufValueRef::Message(self) + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) } } static file_descriptor_proto_data: &'static [u8] = b"\ \n\nutil.proto\x12\x02pb\"!\n\x0bPutResponse\x12\x12\n\x04hash\x18\x01\ - \x20\x01(\tR\x04hash\"\x07\n\x05EmptyJ\xb3\x02\n\x06\x12\x04\0\0\n\x11\n\ - \x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\nJ\n\ - \x02\x04\0\x12\x04\x04\0\x07\x01\x1a>\x20PutResponse\x20is\x20a\x20respo\ - nse\x20to\x20any\x20data\x20storage\x20(put)\x20requests\n\n\n\n\x03\x04\ - \0\x01\x12\x03\x04\x08\x13\nP\n\x04\x04\0\x02\0\x12\x03\x06\x04\x14\x1aC\ - \x20hash\x20is\x20hash/cid\x20(content\x20identifier)\x20of\x20the\x20da\ - ta\x20that\x20was\x20stored\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x06\x04\ - \x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x06\x04\n\n\x0c\n\x05\x04\0\ - \x02\0\x01\x12\x03\x06\x0b\x0f\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x06\ - \x12\x13\n&\n\x02\x04\x01\x12\x03\n\0\x11\x1a\x1b\x20Empty\x20is\x20an\ - \x20empty\x20message\n\n\n\n\x03\x04\x01\x01\x12\x03\n\x08\rb\x06proto3\ + \x20\x01(\tR\x04hash\"\x07\n\x05EmptyJ\xb6\x02\n\x06\x12\x04\0\0\n\x10\n\ + \x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\nK\n\ + \x02\x04\0\x12\x04\x04\0\x07\x01\x1a?\x20PutResponse\x20is\x20a\x20respo\ + nse\x20to\x20any\x20data\x20storage\x20(put)\x20requests\r\n\n\n\n\x03\ + \x04\0\x01\x12\x03\x04\x08\x13\nQ\n\x04\x04\0\x02\0\x12\x03\x06\x04\x14\ + \x1aD\x20hash\x20is\x20hash/cid\x20(content\x20identifier)\x20of\x20the\ + \x20data\x20that\x20was\x20stored\r\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\ + \x06\x04\x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x06\x04\n\n\x0c\n\ + \x05\x04\0\x02\0\x01\x12\x03\x06\x0b\x0f\n\x0c\n\x05\x04\0\x02\0\x03\x12\ + \x03\x06\x12\x13\n'\n\x02\x04\x01\x12\x03\n\0\x10\x1a\x1c\x20Empty\x20is\ + \x20an\x20empty\x20message\r\n\n\n\n\x03\x04\x01\x01\x12\x03\n\x08\rb\ + \x06proto3\ "; -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; +static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() } pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) } diff --git a/ts/file_pb.d.ts b/ts/file_pb.d.ts index c712e33..1ff569a 100644 --- a/ts/file_pb.d.ts +++ b/ts/file_pb.d.ts @@ -42,6 +42,12 @@ export class UploadOptions extends jspb.Message { getChunker(): string; setChunker(value: string): void; + getRefid(): string; + setRefid(value: string): void; + + getProgressive(): boolean; + setProgressive(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UploadOptions.AsObject; static toObject(includeInstance: boolean, msg: UploadOptions): UploadOptions.AsObject; @@ -57,6 +63,8 @@ export namespace UploadOptions { multihash: string, layout: string, chunker: string, + refid: string, + progressive: boolean, } } @@ -144,3 +152,42 @@ export namespace Blob { } } +export class RemoveRequest extends jspb.Message { + getRefidsMap(): jspb.Map; + clearRefidsMap(): void; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): RemoveRequest.AsObject; + static toObject(includeInstance: boolean, msg: RemoveRequest): RemoveRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: RemoveRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): RemoveRequest; + static deserializeBinaryFromReader(message: RemoveRequest, reader: jspb.BinaryReader): RemoveRequest; +} + +export namespace RemoveRequest { + export type AsObject = { + refidsMap: Array<[string, string]>, + } +} + +export class RemoveResponse extends jspb.Message { + getCount(): number; + setCount(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): RemoveResponse.AsObject; + static toObject(includeInstance: boolean, msg: RemoveResponse): RemoveResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: RemoveResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): RemoveResponse; + static deserializeBinaryFromReader(message: RemoveResponse, reader: jspb.BinaryReader): RemoveResponse; +} + +export namespace RemoveResponse { + export type AsObject = { + count: number, + } +} + diff --git a/ts/file_pb_service.d.ts b/ts/file_pb_service.d.ts index e0c63b9..90421e6 100644 --- a/ts/file_pb_service.d.ts +++ b/ts/file_pb_service.d.ts @@ -23,10 +23,20 @@ type FileAPIDownloadFile = { readonly responseType: typeof file_pb.DownloadResponse; }; +type FileAPIRemoveFile = { + readonly methodName: string; + readonly service: typeof FileAPI; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof file_pb.RemoveRequest; + readonly responseType: typeof file_pb.RemoveResponse; +}; + export class FileAPI { static readonly serviceName: string; static readonly UploadFile: FileAPIUploadFile; static readonly DownloadFile: FileAPIDownloadFile; + static readonly RemoveFile: FileAPIRemoveFile; } export type ServiceError = { message: string, code: number; metadata: grpc.Metadata } @@ -63,5 +73,14 @@ export class FileAPIClient { constructor(serviceHost: string, options?: grpc.RpcOptions); uploadFile(metadata?: grpc.Metadata): RequestStream; downloadFile(requestMessage: file_pb.DownloadRequest, metadata?: grpc.Metadata): ResponseStream; + removeFile( + requestMessage: file_pb.RemoveRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: file_pb.RemoveResponse|null) => void + ): UnaryResponse; + removeFile( + requestMessage: file_pb.RemoveRequest, + callback: (error: ServiceError|null, responseMessage: file_pb.RemoveResponse|null) => void + ): UnaryResponse; } diff --git a/ts/file_pb_service.js b/ts/file_pb_service.js index d3e3cdc..8acefd0 100644 --- a/ts/file_pb_service.js +++ b/ts/file_pb_service.js @@ -29,6 +29,15 @@ FileAPI.DownloadFile = { responseType: file_pb.DownloadResponse }; +FileAPI.RemoveFile = { + methodName: "RemoveFile", + service: FileAPI, + requestStream: false, + responseStream: false, + requestType: file_pb.RemoveRequest, + responseType: file_pb.RemoveResponse +}; + exports.FileAPI = FileAPI; function FileAPIClient(serviceHost, options) { @@ -116,5 +125,36 @@ FileAPIClient.prototype.downloadFile = function downloadFile(requestMessage, met }; }; +FileAPIClient.prototype.removeFile = function removeFile(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(FileAPI.RemoveFile, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + exports.FileAPIClient = FileAPIClient; diff --git a/ts/node_pb.d.ts b/ts/node_pb.d.ts index f171d24..f837244 100644 --- a/ts/node_pb.d.ts +++ b/ts/node_pb.d.ts @@ -285,6 +285,12 @@ export class BlockstoreRequest extends jspb.Message { getHashfunc(): string; setHashfunc(value: string): void; + getRefid(): string; + setRefid(value: string): void; + + getProgressive(): boolean; + setProgressive(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): BlockstoreRequest.AsObject; static toObject(includeInstance: boolean, msg: BlockstoreRequest): BlockstoreRequest.AsObject; @@ -303,6 +309,8 @@ export namespace BlockstoreRequest { dataList: Array, cidversion: string, hashfunc: string, + refid: string, + progressive: boolean, } } @@ -388,6 +396,12 @@ export class DagRequest extends jspb.Message { getLinksMap(): jspb.Map; clearLinksMap(): void; + getRefid(): string; + setRefid(value: string): void; + + getProgressive(): boolean; + setProgressive(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): DagRequest.AsObject; static toObject(includeInstance: boolean, msg: DagRequest): DagRequest.AsObject; @@ -408,6 +422,8 @@ export namespace DagRequest { cidversion: number, hash: string, linksMap: Array<[string, string]>, + refid: string, + progressive: boolean, } } @@ -432,6 +448,9 @@ export class DagResponse extends jspb.Message { getNodestatsMap(): jspb.Map; clearNodestatsMap(): void; + getCount(): number; + setCount(value: number): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): DagResponse.AsObject; static toObject(includeInstance: boolean, msg: DagResponse): DagResponse.AsObject; @@ -449,6 +468,7 @@ export namespace DagResponse { rawdata: Uint8Array | string, linksList: Array, nodestatsMap: Array<[string, IPLDStat.AsObject]>, + count: number, } } @@ -618,6 +638,12 @@ export class PersistRequest extends jspb.Message { setCidsList(value: Array): void; addCids(value: string, index?: number): string; + getRefid(): string; + setRefid(value: string): void; + + getProgressive(): boolean; + setProgressive(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): PersistRequest.AsObject; static toObject(includeInstance: boolean, msg: PersistRequest): PersistRequest.AsObject; @@ -631,6 +657,8 @@ export class PersistRequest extends jspb.Message { export namespace PersistRequest { export type AsObject = { cidsList: Array, + refid: string, + progressive: boolean, } } @@ -719,6 +747,7 @@ export interface DAGREQTYPEMap { DAG_ADD_LINKS: 3; DAG_GET_LINKS: 4; DAG_STAT: 5; + DAG_REMOVE: 6; } export const DAGREQTYPE: DAGREQTYPEMap; From f2b2674fcbc029dd00a351e4f2fdad00eaf8ff54 Mon Sep 17 00:00:00 2001 From: nilpointer <69625202+RT-nilPointer@users.noreply.github.com> Date: Sun, 30 Aug 2020 13:13:59 +0800 Subject: [PATCH 09/13] go mod tidy --- go.mod | 13 ----------- go.sum | 73 ---------------------------------------------------------- 2 files changed, 86 deletions(-) diff --git a/go.mod b/go.mod index bd6efec..9dc40e9 100644 --- a/go.mod +++ b/go.mod @@ -3,21 +3,12 @@ module github.com/RTradeLtd/TxPB/v3 go 1.13 require ( - github.com/Masterminds/goutils v1.1.0 // indirect - github.com/Masterminds/semver v1.5.0 // indirect - github.com/Masterminds/sprig v2.22.0+incompatible // indirect github.com/RTradeLtd/go-libp2p-tls v0.2.4 - github.com/aokoli/goutils v1.1.0 // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect - github.com/envoyproxy/protoc-gen-validate v0.4.1 // indirect github.com/gogo/protobuf v1.3.1 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect github.com/golang/mock v1.4.3 // indirect - github.com/google/go-cmp v0.5.0 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.14.7 // indirect - github.com/huandu/xstrings v1.3.2 // indirect - github.com/imdario/mergo v0.3.11 // indirect github.com/ipfs/go-bitswap v0.2.19 // indirect github.com/ipfs/go-block-format v0.0.2 github.com/ipfs/go-blockservice v0.1.3 // indirect @@ -33,16 +24,12 @@ require ( github.com/libp2p/go-libp2p-quic-transport v0.6.0 // indirect github.com/libp2p/go-libp2p-record v0.1.3 // indirect github.com/lucas-clemente/quic-go v0.17.1 // indirect - github.com/mitchellh/copystructure v1.0.0 // indirect - github.com/mitchellh/reflectwalk v1.0.1 // indirect github.com/multiformats/go-multiaddr v0.2.2 github.com/multiformats/go-multiaddr-net v0.1.5 - github.com/mwitkow/go-proto-validators v0.3.2 // indirect github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect github.com/onsi/ginkgo v1.13.0 // indirect github.com/pkg/errors v0.9.1 github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 // indirect - github.com/pseudomuto/protoc-gen-doc v1.3.2 // indirect github.com/smartystreets/assertions v1.1.1 // indirect github.com/smartystreets/goconvey v1.6.4 // indirect github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a // indirect diff --git a/go.sum b/go.sum index 823aca3..b694fd0 100644 --- a/go.sum +++ b/go.sum @@ -12,25 +12,11 @@ github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOv github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= -github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= -github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITgsTc= -github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/sprig v2.15.0+incompatible h1:0gSxPGWS9PAr7U2NsQ2YQg6juRDINkUyuvbb4b2Xm8w= -github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= -github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/RTradeLtd/go-libp2p-tls v0.2.4 h1:SKjLKu9b5j6Nixu0gchAWS97yV4XHaqHilq7ZFPJzjM= github.com/RTradeLtd/go-libp2p-tls v0.2.4/go.mod h1:9CS6TsLjrFTkcTFmUIkMWpHVat+XeoLxOF11AfINwDY= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= -github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= -github.com/aokoli/goutils v1.1.0/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= @@ -65,7 +51,6 @@ github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwc github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= -github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -86,11 +71,8 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.4.1 h1:7dLaJvASGRD7X49jSCSXXHwKPm0ZN9r9kJD+p+vS7dM= -github.com/envoyproxy/protoc-gen-validate v0.4.1/go.mod h1:E+IEazqdaWv3FrnGtZIu3b9fPFMK8AzeTTrk9SfVwWs= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= @@ -121,7 +103,6 @@ github.com/golang/mock v1.4.0 h1:Rd1kQnQu0Hq3qvJppYSG0HtP+f5LPPUiDswTLiEegLg= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -154,7 +135,6 @@ github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8v github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= @@ -170,10 +150,6 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/grpc-gateway v1.5.0 h1:WcmKMm43DR7RdtlkEXQJyo5ws8iTp98CyhCCbOHMvNI= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= -github.com/grpc-ecosystem/grpc-gateway v1.14.6 h1:8ERzHx8aj1Sc47mu9n/AksaKCSWrMchFtkdrS4BIj5o= -github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= -github.com/grpc-ecosystem/grpc-gateway v1.14.7 h1:Nk5kuHrnWUTf/0GL1a/vchH/om9Ap2/HnVna+jYZgTY= -github.com/grpc-ecosystem/grpc-gateway v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU= github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -184,20 +160,9 @@ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uG github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.0.0 h1:pO2K/gKgKaat5LdpAhxhluX2GPQMaI3W5FUz/I/UnWk= -github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= -github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= -github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= -github.com/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= -github.com/imdario/mergo v0.3.4 h1:mKkfHkZWD8dC7WxKx3N9WCF0Y+dLau45704YQmY6H94= -github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg= -github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA= -github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= @@ -340,7 +305,6 @@ github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b h1:wxtKgYHEncAU00muM github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d h1:68u9r4wEvL3gYg2jvAOgROwZ3H+Y3hIDk4tbbmIjcYQ= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -563,7 +527,6 @@ github.com/lucas-clemente/quic-go v0.16.2/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86 github.com/lucas-clemente/quic-go v0.17.1 h1:ezsH76xpn6hKugfsXUy6voIJBFmAOwnM/Oy9F4b/n+M= github.com/lucas-clemente/quic-go v0.17.1/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= -github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkVUl+SrEe+ZORU= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -591,14 +554,8 @@ github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU= github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= -github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= -github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= @@ -657,11 +614,6 @@ github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS github.com/multiformats/go-varint v0.0.2/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.5 h1:XVZwSo04Cs3j/jS0uAEPpT3JY6DzMcVLLoWOSnCxOjg= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= -github.com/mwitkow/go-proto-validators v0.3.0 h1:2WkInbIheqmDevK9h0S/K6f0Os/HlTPGJeRwDAeQE1w= -github.com/mwitkow/go-proto-validators v0.3.0/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w= -github.com/mwitkow/go-proto-validators v0.3.2 h1:qRlmpTzm2pstMKKzTdvwPCF5QfBNURSlAgN/R+qbKos= -github.com/mwitkow/go-proto-validators v0.3.2/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= @@ -697,8 +649,6 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 h1:bzMe+2coZJYHnhGgVlcQKuRy4FSny4ds8dLQjw5P1XE= @@ -710,11 +660,6 @@ github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1: github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/pseudomuto/protoc-gen-doc v1.3.2 h1:61vWZuxYa8D7Rn4h+2dgoTNqnluBmJya2MgbqO32z6g= -github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= -github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM= -github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= @@ -760,8 +705,6 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -770,7 +713,6 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= @@ -833,7 +775,6 @@ go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -848,7 +789,6 @@ golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -891,7 +831,6 @@ golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM= @@ -900,13 +839,11 @@ golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAG golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -973,7 +910,6 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619023621-037be6a06566 h1:49klx7QdOOhowArd5SbtZIcSClTNc0HBG5OrZQ8jQvQ= golang.org/x/tools v0.0.0-20200619023621-037be6a06566/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= @@ -992,19 +928,13 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db h1:Q5+mRMPseAnmi+ah5YkFXuVnZqUTgxmQF6e4PnjSkcE= -google.golang.org/genproto v0.0.0-20200619004808-3e7fca5c55db/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200620020550-bd6e04640131 h1:IXNofpkLhv80L3TJQvj2YQLnMHZgAktycswvtXwQiRk= -google.golang.org/genproto v0.0.0-20200620020550-bd6e04640131/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70 h1:wboULUXGF3c5qdUnKp+6gLAccE6PRpa/czkYvQ4UXv8= google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -1016,8 +946,6 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1050,7 +978,6 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= From 252a3bf452205b6e92c284fdd74a3b64978356b6 Mon Sep 17 00:00:00 2001 From: nilpointer <69625202+RT-nilPointer@users.noreply.github.com> Date: Tue, 8 Sep 2020 12:09:46 +0800 Subject: [PATCH 10/13] prevent tool installation from upgrading dependencies to keep grpc at v1.29.1 --- Makefile | 20 +-- go.mod | 62 ++++++---- go.sum | 302 ++++++++++++++++++++-------------------------- go/tools/tools.go | 17 +++ 4 files changed, 191 insertions(+), 210 deletions(-) create mode 100644 go/tools/tools.go diff --git a/Makefile b/Makefile index 4450130..2dee23e 100644 --- a/Makefile +++ b/Makefile @@ -43,16 +43,16 @@ fmt: # install supplementary tooling .PHONY: install install: - go get -u github.com/gogo/protobuf/protoc-gen-gogoslick - go get -u github.com/gogo/protobuf/protoc-gen-gogofaster - go get -u github.com/gogo/protobuf/protoc-gen-gogofast - go get -u github.com/gogo/protobuf/protoc-gen-gogo - go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway - go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger - go get -u github.com/mwitkow/go-proto-validators/protoc-gen-govalidators - go get -u github.com/gogo/protobuf/proto - go get -u github.com/gogo/protobuf/gogoproto - go get -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc + go get github.com/gogo/protobuf/protoc-gen-gogoslick + go get github.com/gogo/protobuf/protoc-gen-gogofaster + go get github.com/gogo/protobuf/protoc-gen-gogofast + go get github.com/gogo/protobuf/protoc-gen-gogo + go get github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway + go get github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger + go get github.com/mwitkow/go-proto-validators/protoc-gen-govalidators + go get github.com/gogo/protobuf/proto + go get github.com/gogo/protobuf/gogoproto + go get github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc npm install -g ts-protoc-gen npm install -g grpc npm install -g @grpc/proto-loader diff --git a/go.mod b/go.mod index 9dc40e9..db0bcad 100644 --- a/go.mod +++ b/go.mod @@ -3,50 +3,60 @@ module github.com/RTradeLtd/TxPB/v3 go 1.13 require ( + github.com/Masterminds/goutils v1.1.0 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/Masterminds/sprig v2.22.0+incompatible // indirect github.com/RTradeLtd/go-libp2p-tls v0.2.4 + github.com/btcsuite/btcd v0.21.0-beta // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect + github.com/envoyproxy/protoc-gen-validate v0.4.1 // indirect github.com/gogo/protobuf v1.3.1 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect - github.com/golang/mock v1.4.3 // indirect + github.com/google/go-cmp v0.5.2 // indirect + github.com/google/gopacket v1.1.18 // indirect + github.com/google/uuid v1.1.2 // indirect github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect - github.com/ipfs/go-bitswap v0.2.19 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.14.6 + github.com/huandu/xstrings v1.3.2 // indirect + github.com/imdario/mergo v0.3.11 // indirect + github.com/ipfs/go-bitswap v0.2.20 // indirect github.com/ipfs/go-block-format v0.0.2 github.com/ipfs/go-blockservice v0.1.3 // indirect - github.com/ipfs/go-cid v0.0.6 - github.com/ipfs/go-ipfs-blockstore v1.0.0 // indirect + github.com/ipfs/go-cid v0.0.7 + github.com/ipfs/go-datastore v0.4.5 // indirect + github.com/ipfs/go-ipfs-blockstore v1.0.1 // indirect github.com/ipfs/go-ipld-cbor v0.0.4 // indirect github.com/ipfs/go-ipld-format v0.2.0 - github.com/ipfs/go-log/v2 v2.1.1 // indirect github.com/ipfs/go-merkledag v0.3.2 github.com/kr/text v0.2.0 // indirect - github.com/libp2p/go-libp2p v0.10.0 // indirect - github.com/libp2p/go-libp2p-core v0.6.0 - github.com/libp2p/go-libp2p-quic-transport v0.6.0 // indirect + github.com/libp2p/go-libp2p v0.11.0 // indirect + github.com/libp2p/go-libp2p-core v0.7.0 github.com/libp2p/go-libp2p-record v0.1.3 // indirect - github.com/lucas-clemente/quic-go v0.17.1 // indirect - github.com/multiformats/go-multiaddr v0.2.2 - github.com/multiformats/go-multiaddr-net v0.1.5 + github.com/libp2p/go-sockaddr v0.1.0 // indirect + github.com/mitchellh/copystructure v1.0.0 // indirect + github.com/mitchellh/reflectwalk v1.0.1 // indirect + github.com/multiformats/go-multiaddr v0.3.1 + github.com/multiformats/go-multiaddr-net v0.2.0 + github.com/mwitkow/go-proto-validators v0.3.2 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect - github.com/onsi/ginkgo v1.13.0 // indirect + github.com/onsi/ginkgo v1.14.1 // indirect + github.com/onsi/gomega v1.10.2 // indirect github.com/pkg/errors v0.9.1 github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 // indirect + github.com/pseudomuto/protoc-gen-doc v1.3.2 github.com/smartystreets/assertions v1.1.1 // indirect github.com/smartystreets/goconvey v1.6.4 // indirect github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a // indirect - github.com/whyrusleeping/cbor-gen v0.0.0-20200504204219-64967432584d // indirect - go.opencensus.io v0.22.4 // indirect - go.uber.org/zap v1.15.0 + github.com/whyrusleeping/cbor-gen v0.0.0-20200826160007-0b9f6c5fb163 // indirect + go.uber.org/goleak v1.1.10 // indirect + go.uber.org/zap v1.16.0 golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect - golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect - golang.org/x/mod v0.3.0 // indirect - golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect - golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a // indirect - golang.org/x/text v0.3.3 // indirect - golang.org/x/tools v0.0.0-20200619023621-037be6a06566 // indirect - google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70 // indirect - google.golang.org/grpc v1.31.0 - google.golang.org/protobuf v1.25.0 // indirect - gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect + golang.org/x/net v0.0.0-20200904194848-62affa334b73 // indirect + golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f // indirect + golang.org/x/tools v0.0.0-20200904185747-39188db58858 // indirect + google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d // indirect + google.golang.org/grpc v1.29.1 + gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect - honnef.co/go/tools v0.0.1-2020.1.4 // indirect + honnef.co/go/tools v0.0.1-2020.1.5 // indirect ) diff --git a/go.sum b/go.sum index b694fd0..93b1999 100644 --- a/go.sum +++ b/go.sum @@ -1,44 +1,43 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= -dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= -dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= -dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= -dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= -git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= +github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/RTradeLtd/go-libp2p-tls v0.2.4 h1:SKjLKu9b5j6Nixu0gchAWS97yV4XHaqHilq7ZFPJzjM= github.com/RTradeLtd/go-libp2p-tls v0.2.4/go.mod h1:9CS6TsLjrFTkcTFmUIkMWpHVat+XeoLxOF11AfINwDY= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.0.0-20190605094302-a0d1e3e36d50/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= github.com/btcsuite/btcd v0.20.1-beta h1:Ik4hyJqN8Jfyv3S4AGBOmyouMsYE3EdYODkMbQjwPGw= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= +github.com/btcsuite/btcd v0.21.0-beta h1:At9hIZdJW0s9E/fAz28nrz6AmcNlSVucCH796ZteX1M= +github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= +github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= +github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= -github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -46,20 +45,20 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= +github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018 h1:6xT9KW8zLC5IlbaIF5Q7JNieBoACT7iW0YTxQHR0in0= github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= -github.com/davidlazar/go-crypto v0.0.0-20190912175916-7055855a373f/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= +github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= github.com/dgraph-io/badger v1.6.0-rc1/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= @@ -71,20 +70,19 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= -github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= +github.com/envoyproxy/protoc-gen-validate v0.4.1 h1:7dLaJvASGRD7X49jSCSXXHwKPm0ZN9r9kJD+p+vS7dM= +github.com/envoyproxy/protoc-gen-validate v0.4.1/go.mod h1:E+IEazqdaWv3FrnGtZIu3b9fPFMK8AzeTTrk9SfVwWs= +github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:1i71OnUq3iUe1ma7Lr6yG6/rjvM3emb6yoL7xLFzcVQ= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= @@ -96,13 +94,8 @@ github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 h1:ZgQEtGgCBiWRM github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.4.0 h1:Rd1kQnQu0Hq3qvJppYSG0HtP+f5LPPUiDswTLiEegLg= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -118,7 +111,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -128,17 +120,17 @@ github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gopacket v1.1.17 h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY= github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/gopacket v1.1.18/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= -github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= +github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0= @@ -147,9 +139,7 @@ github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoA github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/grpc-gateway v1.5.0 h1:WcmKMm43DR7RdtlkEXQJyo5ws8iTp98CyhCCbOHMvNI= -github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -160,9 +150,15 @@ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uG github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= +github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= +github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= @@ -170,8 +166,8 @@ github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyq github.com/ipfs/go-bitswap v0.1.0 h1:28YsHYw9ut6wootnImPXH0WpnU5Dbo3qm6cvQ6e6wYY= github.com/ipfs/go-bitswap v0.1.0/go.mod h1:FFJEf18E9izuCqUtHxbWEvq+reg7o4CW5wSAE1wsxj0= github.com/ipfs/go-bitswap v0.1.8/go.mod h1:TOWoxllhccevbWFUR2N7B1MTSVVge1s6XSMiCSA4MzM= -github.com/ipfs/go-bitswap v0.2.19 h1:EhgRz8gqWQIBADY9gpqJOrfs5E1MtVfQFy1Vq8Z+Fq8= -github.com/ipfs/go-bitswap v0.2.19/go.mod h1:C7TwBgHnu89Q8sHsTJP7IhUqF9XYLe71P4tT5adgmYo= +github.com/ipfs/go-bitswap v0.2.20 h1:Zfi5jDUoqxDThORUznqdeL77DdGniAzlccNJ4vr+Itc= +github.com/ipfs/go-bitswap v0.2.20/go.mod h1:C7TwBgHnu89Q8sHsTJP7IhUqF9XYLe71P4tT5adgmYo= github.com/ipfs/go-block-format v0.0.1/go.mod h1:DK/YYcsSUIVAFNwo/KZCdIIbpN0ROH/baNLgayt4pFc= github.com/ipfs/go-block-format v0.0.2 h1:qPDvcP19izTjU8rgo6p7gTXZlkMkF5bz5G3fqIsSCPE= github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY= @@ -185,9 +181,9 @@ github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUP github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= github.com/ipfs/go-cid v0.0.5 h1:o0Ix8e/ql7Zb5UVUJEUfjsWCIY8t48++9lR8qi6oiJU= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= -github.com/ipfs/go-cid v0.0.6-0.20200501230655-7c82f3b81c00/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= github.com/ipfs/go-cid v0.0.6 h1:go0y+GcDOGeJIV01FeBsta4FHngoA4Wz7KMeLkXAhMs= github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= +github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= @@ -195,8 +191,11 @@ github.com/ipfs/go-datastore v0.1.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRV github.com/ipfs/go-datastore v0.3.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= github.com/ipfs/go-datastore v0.4.0/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= github.com/ipfs/go-datastore v0.4.1/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= +github.com/ipfs/go-datastore v0.4.2/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= github.com/ipfs/go-datastore v0.4.4 h1:rjvQ9+muFaJ+QZ7dN5B1MSDNQ0JVZKkkES/rMZmA8X8= github.com/ipfs/go-datastore v0.4.4/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= +github.com/ipfs/go-datastore v0.4.5 h1:cwOUcGMLdLPWgu3SlrCckCMznaGADbPqE0r8h768/Dg= +github.com/ipfs/go-datastore v0.4.5/go.mod h1:eXTcaaiN6uOlVCLS9GjJUJtlvJfM3xk23w3fyfrmmJs= github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8= @@ -210,8 +209,7 @@ github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma github.com/ipfs/go-ipfs-blockstore v0.1.0 h1:V1GZorHFUIB6YgTJQdq7mcaIpUfCM3fCyVi+MTo9O88= github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= github.com/ipfs/go-ipfs-blockstore v0.1.4/go.mod h1:Jxm3XMVjh6R17WvxFEiyKBLUGr86HgIYJW/D/MwqeYQ= -github.com/ipfs/go-ipfs-blockstore v1.0.0 h1:pmFp5sFYsYVvMOp9X01AK3s85usVcLvkBTRsN6SnfUA= -github.com/ipfs/go-ipfs-blockstore v1.0.0/go.mod h1:knLVdhVU9L7CC4T+T4nvGdeUIPAXlnd9zmXfp+9MIjU= +github.com/ipfs/go-ipfs-blockstore v1.0.1/go.mod h1:MGNZlHNEnR4KGgPHM3/k8lBySIOK2Ve+0KjZubKlaOE= github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ= github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk= github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= @@ -285,12 +283,9 @@ github.com/jbenet/goprocess v0.1.3 h1:YKyIEECS/XvcfHtBzxtjBBbWK+MbvA6dG8ASiqwvr1 github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= -github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= @@ -305,12 +300,12 @@ github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b h1:wxtKgYHEncAU00muM github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d h1:68u9r4wEvL3gYg2jvAOgROwZ3H+Y3hIDk4tbbmIjcYQ= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -339,28 +334,27 @@ github.com/libp2p/go-libp2p v0.1.1/go.mod h1:I00BRo1UuUSdpuc8Q2mN7yDF/oTUTRAX6JW github.com/libp2p/go-libp2p v0.6.1/go.mod h1:CTFnWXogryAHjXAKEbOf1OWY+VeAP3lDMZkfEI5sT54= github.com/libp2p/go-libp2p v0.7.0/go.mod h1:hZJf8txWeCduQRDC/WSqBGMxaTHCOYHt2xSU1ivxn0k= github.com/libp2p/go-libp2p v0.7.4/go.mod h1:oXsBlTLF1q7pxr+9w6lqzS1ILpyHsaBPniVO7zIHGMw= +github.com/libp2p/go-libp2p v0.8.1/go.mod h1:QRNH9pwdbEBpx5DTJYg+qxcVaDMAz3Ee/qDKwXujH5o= github.com/libp2p/go-libp2p v0.8.3/go.mod h1:EsH1A+8yoWK+L4iKcbPYu6MPluZ+CHWI9El8cTaefiM= -github.com/libp2p/go-libp2p v0.10.0 h1:7ooOvK1wi8eLpyTppy8TeH43UHy5uI75GAHGJxenUi0= -github.com/libp2p/go-libp2p v0.10.0/go.mod h1:yBJNpb+mGJdgrwbKAKrhPU0u3ogyNFTfjJ6bdM+Q/G8= +github.com/libp2p/go-libp2p v0.11.0 h1:jb5mqdqYEBAybTEhD8io43Cz5LzVKuWxOK7znSN69jE= +github.com/libp2p/go-libp2p v0.11.0/go.mod h1:3/ogJDXsbbepEfqtZKBR/DedzxJXCeK17t2Z9RE9bEE= github.com/libp2p/go-libp2p-autonat v0.1.0/go.mod h1:1tLf2yXxiE/oKGtDwPYWTSYG3PtvYlJmg7NeVtPRqH8= github.com/libp2p/go-libp2p-autonat v0.1.1/go.mod h1:OXqkeGOY2xJVWKAGV2inNF5aKN/djNA3fdpCWloIudE= github.com/libp2p/go-libp2p-autonat v0.2.0/go.mod h1:DX+9teU4pEEoZUqR1PiMlqliONQdNbfzE1C718tcViI= github.com/libp2p/go-libp2p-autonat v0.2.1/go.mod h1:MWtAhV5Ko1l6QBsHQNSuM6b1sRkXrpk0/LqCr+vCVxI= github.com/libp2p/go-libp2p-autonat v0.2.2/go.mod h1:HsM62HkqZmHR2k1xgX34WuWDzk/nBwNHoeyyT4IWV6A= -github.com/libp2p/go-libp2p-autonat v0.2.3 h1:w46bKK3KTOUWDe5mDYMRjJu1uryqBp8HCNDp/TWMqKw= -github.com/libp2p/go-libp2p-autonat v0.2.3/go.mod h1:2U6bNWCNsAG9LEbwccBDQbjzQ8Krdjge1jLTE9rdoMM= +github.com/libp2p/go-libp2p-autonat v0.3.2 h1:OhDSwVVaq7liTaRIsFFYvsaPp0pn2yi0WazejZ4DUmo= +github.com/libp2p/go-libp2p-autonat v0.3.2/go.mod h1:0OzOi1/cVc7UcxfOddemYD5vzEqi4fwRbnZcJGLi68U= github.com/libp2p/go-libp2p-blankhost v0.1.1 h1:X919sCh+KLqJcNRApj43xCSiQRYqOSI88Fdf55ngf78= github.com/libp2p/go-libp2p-blankhost v0.1.1/go.mod h1:pf2fvdLJPsC1FsVrNP3DUUvMzUts2dsLLBEpo1vW1ro= github.com/libp2p/go-libp2p-blankhost v0.1.4 h1:I96SWjR4rK9irDHcHq3XHN6hawCRTPUADzkJacgZLvk= github.com/libp2p/go-libp2p-blankhost v0.1.4/go.mod h1:oJF0saYsAXQCSfDq254GMNmLNz6ZTHTOvtF4ZydUvwU= -github.com/libp2p/go-libp2p-blankhost v0.1.6 h1:CkPp1/zaCrCnBo0AdsQA0O1VkUYoUOtyHOnoa8gKIcE= -github.com/libp2p/go-libp2p-blankhost v0.1.6/go.mod h1:jONCAJqEP+Z8T6EQviGL4JsQcLx1LgTGtVqFNY8EMfQ= +github.com/libp2p/go-libp2p-blankhost v0.2.0/go.mod h1:eduNKXGTioTuQAUcZ5epXi9vMl+t4d8ugUBRQ4SqaNQ= github.com/libp2p/go-libp2p-circuit v0.1.0/go.mod h1:Ahq4cY3V9VJcHcn1SBXjr78AbFkZeIRmfunbA7pmFh8= github.com/libp2p/go-libp2p-circuit v0.1.4/go.mod h1:CY67BrEjKNDhdTk8UgBX1Y/H5c3xkAcs3gnksxY7osU= github.com/libp2p/go-libp2p-circuit v0.2.1/go.mod h1:BXPwYDN5A8z4OEY9sOfr2DUQMLQvKt/6oku45YUmjIo= github.com/libp2p/go-libp2p-circuit v0.2.2/go.mod h1:nkG3iE01tR3FoQ2nMm06IUrCpCyJp1Eo4A1xYdpjfs4= -github.com/libp2p/go-libp2p-circuit v0.2.3 h1:3Uw1fPHWrp1tgIhBz0vSOxRUmnKL8L/NGUyEd5WfSGM= -github.com/libp2p/go-libp2p-circuit v0.2.3/go.mod h1:nkG3iE01tR3FoQ2nMm06IUrCpCyJp1Eo4A1xYdpjfs4= +github.com/libp2p/go-libp2p-circuit v0.3.1/go.mod h1:8RMIlivu1+RxhebipJwFDA45DasLx+kkrp4IlJj53F4= github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco= github.com/libp2p/go-libp2p-core v0.0.2/go.mod h1:9dAcntw/n46XycV4RnlBq3BpgrmyUi9LuoTNdPrbUco= github.com/libp2p/go-libp2p-core v0.0.3/go.mod h1:j+YQMNz9WNSkNezXOsahp9kwZBKBvxLpKD316QWSJXE= @@ -381,6 +375,9 @@ github.com/libp2p/go-libp2p-core v0.5.6/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX github.com/libp2p/go-libp2p-core v0.5.7/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= github.com/libp2p/go-libp2p-core v0.6.0 h1:u03qofNYTBN+yVg08PuAKylZogVf0xcTEeM8skGf+ak= github.com/libp2p/go-libp2p-core v0.6.0/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= +github.com/libp2p/go-libp2p-core v0.6.1/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= +github.com/libp2p/go-libp2p-core v0.7.0 h1:4a0TMjrWNTZlNvcqxZmrMRDi/NQWrhwO2pkTuLSQ/IQ= +github.com/libp2p/go-libp2p-core v0.7.0/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ= github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI= github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g= @@ -388,6 +385,7 @@ github.com/libp2p/go-libp2p-discovery v0.2.0/go.mod h1:s4VGaxYMbw4+4+tsoQTqh7wfx github.com/libp2p/go-libp2p-discovery v0.3.0/go.mod h1:o03drFnz9BVAZdzC/QUQ+NeQOu38Fu7LJGEOK2gQltw= github.com/libp2p/go-libp2p-discovery v0.4.0 h1:dK78UhopBk48mlHtRCzbdLm3q/81g77FahEBTjcqQT8= github.com/libp2p/go-libp2p-discovery v0.4.0/go.mod h1:bZ0aJSrFc/eX2llP0ryhb1kpgkPyTo23SJ5b7UQCMh4= +github.com/libp2p/go-libp2p-discovery v0.5.0/go.mod h1:+srtPIU9gDaBNu//UHvcdliKBIcr4SfDcm0/PfPJLug= github.com/libp2p/go-libp2p-loggables v0.1.0 h1:h3w8QFfCt2UJl/0/NW4K829HX/0S4KD31PQ7m8UXXO8= github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3xoDasoRYM7nOzEpoa90= github.com/libp2p/go-libp2p-mplex v0.2.0/go.mod h1:Ejl9IyjvXJ0T9iqUTE1jpYATQ9NM3g+OtR+EMMODbKo= @@ -396,6 +394,7 @@ github.com/libp2p/go-libp2p-mplex v0.2.1/go.mod h1:SC99Rxs8Vuzrf/6WhmH41kNn13TiY github.com/libp2p/go-libp2p-mplex v0.2.2/go.mod h1:74S9eum0tVQdAfFiKxAyKzNdSuLqw5oadDq7+L/FELo= github.com/libp2p/go-libp2p-mplex v0.2.3 h1:2zijwaJvpdesST2MXpI5w9wWFRgYtMcpRX7rrw0jmOo= github.com/libp2p/go-libp2p-mplex v0.2.3/go.mod h1:CK3p2+9qH9x+7ER/gWWDYJ3QW5ZxWDkm+dVvjfuG3ek= +github.com/libp2p/go-libp2p-mplex v0.2.4/go.mod h1:mI7iOezdWFOisvUwaYd3IDrJ4oVmgoXK8H331ui39CE= github.com/libp2p/go-libp2p-nat v0.0.4 h1:+KXK324yaY701On8a0aGjTnw8467kW3ExKcqW2wwmyw= github.com/libp2p/go-libp2p-nat v0.0.4/go.mod h1:N9Js/zVtAXqaeT99cXgTV9e75KpnWCvVOiGzlcHmBbY= github.com/libp2p/go-libp2p-nat v0.0.5/go.mod h1:1qubaE5bTZMJE+E/uu2URroMbzdubFz1ChgiN79yKPE= @@ -403,6 +402,7 @@ github.com/libp2p/go-libp2p-nat v0.0.6 h1:wMWis3kYynCbHoyKLPBEMu4YRLltbm8Mk08HGS github.com/libp2p/go-libp2p-nat v0.0.6/go.mod h1:iV59LVhB3IkFvS6S6sauVTSOrNEANnINbI/fkaLimiw= github.com/libp2p/go-libp2p-netutil v0.1.0 h1:zscYDNVEcGxyUpMd0JReUZTrpMfia8PmLKcKF72EAMQ= github.com/libp2p/go-libp2p-netutil v0.1.0/go.mod h1:3Qv/aDqtMLTUyQeundkKsA+YCThNdbQD54k3TqjpbFU= +github.com/libp2p/go-libp2p-noise v0.1.1/go.mod h1:QDFLdKX7nluB7DEnlVPbz7xlLHdwHFA9HiohJRr3vwM= github.com/libp2p/go-libp2p-peer v0.2.0 h1:EQ8kMjaCUwt/Y5uLgjT8iY2qg0mGUT0N1zUjer50DsY= github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY= github.com/libp2p/go-libp2p-peerstore v0.1.0 h1:MKh7pRNPHSh1fLPj8u/M/s/napdmeNpoi9BRy9lPN0E= @@ -412,16 +412,10 @@ github.com/libp2p/go-libp2p-peerstore v0.2.0/go.mod h1:N2l3eVIeAitSg3Pi2ipSrJYnq github.com/libp2p/go-libp2p-peerstore v0.2.1/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRjwRLBr4TYKfNgrUkOPA= github.com/libp2p/go-libp2p-peerstore v0.2.2/go.mod h1:NQxhNjWxf1d4w6PihR8btWIRjwRLBr4TYKfNgrUkOPA= github.com/libp2p/go-libp2p-peerstore v0.2.3/go.mod h1:K8ljLdFn590GMttg/luh4caB/3g0vKuY01psze0upRw= -github.com/libp2p/go-libp2p-peerstore v0.2.4 h1:jU9S4jYN30kdzTpDAR7SlHUD+meDUjTODh4waLWF1ws= -github.com/libp2p/go-libp2p-peerstore v0.2.4/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-peerstore v0.2.6 h1:2ACefBX23iMdJU9Ke+dcXt3w86MIryes9v7In4+Qq3U= github.com/libp2p/go-libp2p-peerstore v0.2.6/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6na5f0/k= github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= -github.com/libp2p/go-libp2p-quic-transport v0.5.0 h1:BUN1lgYNUrtv4WLLQ5rQmC9MCJ6uEXusezGvYRNoJXE= -github.com/libp2p/go-libp2p-quic-transport v0.5.0/go.mod h1:IEcuC5MLxvZ5KuHKjRu+dr3LjCT1Be3rcD/4d8JrX8M= -github.com/libp2p/go-libp2p-quic-transport v0.6.0 h1:d5bcq7y+t6IiumD9Ib0S4oHgWu66rRjQ1Y8ligii6G8= -github.com/libp2p/go-libp2p-quic-transport v0.6.0/go.mod h1:HR435saAZhTrFabI+adf3tVBY7ZJg5rKNoJ+CrIIg8c= github.com/libp2p/go-libp2p-record v0.1.0 h1:wHwBGbFzymoIl69BpgwIu0O6ta3TXGcMPvHUAcodzRc= github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= github.com/libp2p/go-libp2p-record v0.1.3 h1:R27hoScIhQf/A8XJZ8lYpnqh9LatJ5YbHs28kCIfql0= @@ -436,8 +430,7 @@ github.com/libp2p/go-libp2p-swarm v0.1.0 h1:HrFk2p0awrGEgch9JXK/qp/hfjqQfgNxpLWn github.com/libp2p/go-libp2p-swarm v0.1.0/go.mod h1:wQVsCdjsuZoc730CgOvh5ox6K8evllckjebkdiY5ta4= github.com/libp2p/go-libp2p-swarm v0.2.2/go.mod h1:fvmtQ0T1nErXym1/aa1uJEyN7JzaTNyBcHImCxRpPKU= github.com/libp2p/go-libp2p-swarm v0.2.3/go.mod h1:P2VO/EpxRyDxtChXz/VPVXyTnszHvokHKRhfkEgFKNM= -github.com/libp2p/go-libp2p-swarm v0.2.7 h1:4lV/sf7f0NuVqunOpt1I11+Z54+xp+m0eeAvxj/LyRc= -github.com/libp2p/go-libp2p-swarm v0.2.7/go.mod h1:ZSJ0Q+oq/B1JgfPHJAT2HTall+xYRNYp1xs4S2FBWKA= +github.com/libp2p/go-libp2p-swarm v0.2.8/go.mod h1:JQKMGSth4SMqonruY0a8yjlPVIkb0mdNSwckW7OYziM= github.com/libp2p/go-libp2p-testing v0.0.2/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= github.com/libp2p/go-libp2p-testing v0.0.3 h1:bdij4bKaaND7tCsaXVjRfYkMpvoOeKj9AVQGJllA6jM= github.com/libp2p/go-libp2p-testing v0.0.3/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= @@ -463,6 +456,7 @@ github.com/libp2p/go-libp2p-yamux v0.2.8/go.mod h1:/t6tDqeuZf0INZMTgd0WxIRbtK2Ez github.com/libp2p/go-maddr-filter v0.0.4 h1:hx8HIuuwk34KePddrp2mM5ivgPkZ09JH4AvsALRbFUs= github.com/libp2p/go-maddr-filter v0.0.4/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q= github.com/libp2p/go-maddr-filter v0.0.5/go.mod h1:Jk+36PMfIqCJhAnaASRH83bdAvfDRp/w6ENFaC9bG+M= +github.com/libp2p/go-maddr-filter v0.1.0/go.mod h1:VzZhTXkMucEGGEOSKddrwGiOv0tUhgnKqNEmIAz/bPU= github.com/libp2p/go-mplex v0.0.3/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0= github.com/libp2p/go-mplex v0.1.0 h1:/nBTy5+1yRyY82YaO6HXQRnO5IAGsXTjEJaR3LdTPc0= github.com/libp2p/go-mplex v0.1.0/go.mod h1:SXgmdki2kwCUlCCbfGLEgHjC4pFqhTp0ZoV6aiKgxDU= @@ -473,6 +467,7 @@ github.com/libp2p/go-msgio v0.0.2 h1:ivPvEKHxmVkTClHzg6RXTYHqaJQ0V9cDbq+6lKb3UV0 github.com/libp2p/go-msgio v0.0.2/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= github.com/libp2p/go-msgio v0.0.4 h1:agEFehY3zWJFUHK6SEMR7UYmk2z6kC3oeCM7ybLhguA= github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= +github.com/libp2p/go-msgio v0.0.6/go.mod h1:4ecVB6d9f4BDSL5fqvPiC4A3KivjWn+Venn/1ALLMWA= github.com/libp2p/go-nat v0.0.3 h1:l6fKV+p0Xa354EqQOQP+d8CivdLM4kl5GxC1hSc/UeI= github.com/libp2p/go-nat v0.0.3/go.mod h1:88nUEt0k0JD45Bk93NIwDqjlhiOwOoV36GchpcVc1yI= github.com/libp2p/go-nat v0.0.4/go.mod h1:Nmw50VAvKuk38jUBcmNh6p9lUJLoODbJRvYAa/+KSDo= @@ -480,18 +475,22 @@ github.com/libp2p/go-nat v0.0.5 h1:qxnwkco8RLKqVh1NmjQ+tJ8p8khNLFxuElYG/TwqW4Q= github.com/libp2p/go-nat v0.0.5/go.mod h1:B7NxsVNPZmRLvMOwiEO1scOSyjA56zxYAGv1yQgRkEU= github.com/libp2p/go-netroute v0.1.2 h1:UHhB35chwgvcRI392znJA3RCBtZ3MpE3ahNCN5MR4Xg= github.com/libp2p/go-netroute v0.1.2/go.mod h1:jZLDV+1PE8y5XxBySEBgbuVAXbhtuHSdmLPL2n9MKbk= +github.com/libp2p/go-netroute v0.1.3/go.mod h1:jZLDV+1PE8y5XxBySEBgbuVAXbhtuHSdmLPL2n9MKbk= github.com/libp2p/go-openssl v0.0.2/go.mod h1:v8Zw2ijCSWBQi8Pq5GAixw6DbFfa9u6VIYDXnvOXkc0= github.com/libp2p/go-openssl v0.0.3/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-openssl v0.0.5/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-openssl v0.0.6 h1:BFqTHVDt6V60Y7xU9f89FwljvFl/CEqZYO1vlfa2DCE= github.com/libp2p/go-openssl v0.0.6/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.7/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-reuseport v0.0.1 h1:7PhkfH73VXfPJYKQ6JwS5I/eVcoyYi9IMNGc6FWpFLw= github.com/libp2p/go-reuseport v0.0.1/go.mod h1:jn6RmB1ufnQwl0Q1f+YxAj8isJgDCQzaaxIFYDhcYEA= +github.com/libp2p/go-reuseport v0.0.2/go.mod h1:SPD+5RwGC7rcnzngoYC86GjPzjSywuQyMVAheVBD9nQ= github.com/libp2p/go-reuseport-transport v0.0.2 h1:WglMwyXyBu61CMkjCCtnmqNqnjib0GIEjMiHTwR/KN4= github.com/libp2p/go-reuseport-transport v0.0.2/go.mod h1:YkbSDrvjUVDL6b8XqriyA20obEtsW9BLkuOUyQAOCbs= github.com/libp2p/go-reuseport-transport v0.0.3 h1:zzOeXnTooCkRvoH+bSXEfXhn76+LAiwoneM0gnXjF2M= github.com/libp2p/go-reuseport-transport v0.0.3/go.mod h1:Spv+MPft1exxARzP2Sruj2Wb5JSyHNncjf1Oi2dEbzM= +github.com/libp2p/go-reuseport-transport v0.0.4/go.mod h1:trPa7r/7TJK/d+0hdBLOCGvpQQVOU74OXbNCIMkufGw= github.com/libp2p/go-sockaddr v0.0.2 h1:tCuXfpA9rq7llM/v834RKc/Xvovy/AqM9kHvTV/jY/Q= github.com/libp2p/go-sockaddr v0.0.2/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= github.com/libp2p/go-sockaddr v0.1.0 h1:Y4s3/jNoryVRKEBrkJ576F17CPOaMIzUeCsg7dlTDj0= @@ -506,6 +505,8 @@ github.com/libp2p/go-tcp-transport v0.1.0/go.mod h1:oJ8I5VXryj493DEJ7OsBieu8fcg2 github.com/libp2p/go-tcp-transport v0.1.1/go.mod h1:3HzGvLbx6etZjnFlERyakbaYPdfjg2pWP97dFZworkY= github.com/libp2p/go-tcp-transport v0.2.0 h1:YoThc549fzmNJIh7XjHVtMIFaEDRtIrtWciG5LyYAPo= github.com/libp2p/go-tcp-transport v0.2.0/go.mod h1:vX2U0CnWimU4h0SGSEsg++AzvBcroCGYw28kh94oLe0= +github.com/libp2p/go-tcp-transport v0.2.1 h1:ExZiVQV+h+qL16fzCWtd1HSzPsqWottJ8KXwWaVi8Ns= +github.com/libp2p/go-tcp-transport v0.2.1/go.mod h1:zskiJ70MEfWz2MKxvFB/Pv+tPIB1PpPUrHIWQ8aFw7M= github.com/libp2p/go-testutil v0.1.0 h1:4QhjaWGO89udplblLVpgGDOQjzFlRavZOjuEnz2rLMc= github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjVe/gLzZ2Ehc= github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo= @@ -521,18 +522,9 @@ github.com/libp2p/go-yamux v1.3.3/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZ github.com/libp2p/go-yamux v1.3.5/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= github.com/libp2p/go-yamux v1.3.7 h1:v40A1eSPJDIZwz2AvrV3cxpTZEGDP11QJbukmEhYyQI= github.com/libp2p/go-yamux v1.3.7/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/hkmpooHE= -github.com/lucas-clemente/quic-go v0.16.0 h1:jJw36wfzGJhmOhAOaOC2lS36WgeqXQszH47A7spo1LI= -github.com/lucas-clemente/quic-go v0.16.0/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= -github.com/lucas-clemente/quic-go v0.16.2/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= -github.com/lucas-clemente/quic-go v0.17.1 h1:ezsH76xpn6hKugfsXUy6voIJBFmAOwnM/Oy9F4b/n+M= -github.com/lucas-clemente/quic-go v0.17.1/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= -github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= +github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkVUl+SrEe+ZORU= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/marten-seemann/qpack v0.1.0/go.mod h1:LFt1NU/Ptjip0C2CPkhimBz5CGE3WGDAUWqna+CNTrI= -github.com/marten-seemann/qtls v0.9.1 h1:O0YKQxNVPaiFgMng0suWEOY2Sb4LT2sRn9Qimq3Z1IQ= -github.com/marten-seemann/qtls v0.9.1/go.mod h1:T1MmAdDPyISzxlK6kjRr0pcZFBVd1OZbBb/j3cvzHhk= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= @@ -541,11 +533,10 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= @@ -554,10 +545,11 @@ github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU= github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= @@ -579,6 +571,9 @@ github.com/multiformats/go-multiaddr v0.2.1 h1:SgG/cw5vqyB5QQe5FPe2TqggU9WtrA9X4 github.com/multiformats/go-multiaddr v0.2.1/go.mod h1:s/Apk6IyxfvMjDafnhJgJ3/46z7tZ04iMk5wP4QMGGE= github.com/multiformats/go-multiaddr v0.2.2 h1:XZLDTszBIJe6m0zF6ITBrEcZR73OPUhCBBS9rYAuUzI= github.com/multiformats/go-multiaddr v0.2.2/go.mod h1:NtfXiOtHvghW9KojvtySjH5y0u0xW5UouOmQQrn6a3Y= +github.com/multiformats/go-multiaddr v0.3.0/go.mod h1:dF9kph9wfJ+3VLAaeBqo9Of8x4fJxp6ggJGteB8HQTI= +github.com/multiformats/go-multiaddr v0.3.1 h1:1bxa+W7j9wZKTZREySx1vPMs2TqrYWjVZ7zE6/XLG1I= +github.com/multiformats/go-multiaddr v0.3.1/go.mod h1:uPbspcUPd5AfaP6ql3ujFY+QWzmBD8uLLL4bXW0XfGc= github.com/multiformats/go-multiaddr-dns v0.0.1/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= github.com/multiformats/go-multiaddr-dns v0.0.2 h1:/Bbsgsy3R6e3jf2qBahzNHzww6usYaZ0NhNH3sqdFS8= github.com/multiformats/go-multiaddr-dns v0.0.2/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= @@ -596,6 +591,8 @@ github.com/multiformats/go-multiaddr-net v0.1.3/go.mod h1:ilNnaM9HbmVFqsb/qcNysj github.com/multiformats/go-multiaddr-net v0.1.4/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= github.com/multiformats/go-multiaddr-net v0.1.5 h1:QoRKvu0xHN1FCFJcMQLbG/yQE2z441L5urvG3+qyz7g= github.com/multiformats/go-multiaddr-net v0.1.5/go.mod h1:ilNnaM9HbmVFqsb/qcNysjCu4PVONlrBZpHIrw/qQuA= +github.com/multiformats/go-multiaddr-net v0.2.0 h1:MSXRGN0mFymt6B1yo/6BPnIRpLPEnKgQNvVfCX5VDJk= +github.com/multiformats/go-multiaddr-net v0.2.0/go.mod h1:gGdH3UXny6U3cKKYCvpXI5rnK7YaOIEOPVDI9tsJbEA= github.com/multiformats/go-multibase v0.0.1 h1:PN9/v21eLywrFWdFNsFKaU04kLJzuYzmrJR+ubhT9qA= github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs= github.com/multiformats/go-multibase v0.0.3 h1:l/B6bJDQjvQ5G52jw4QGSYeOTZoAwIO77RblWplfIqk= @@ -606,16 +603,20 @@ github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= github.com/multiformats/go-multihash v0.0.13 h1:06x+mk/zj1FoMsgNejLpy6QTvJqlSt/BhLEy87zidlc= github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= +github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= github.com/multiformats/go-multistream v0.1.0 h1:UpO6jrsjqs46mqAK3n6wKRYFhugss9ArzbyUzU+4wkQ= github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg= github.com/multiformats/go-multistream v0.1.1 h1:JlAdpIFhBhGRLxe9W6Om0w++Gd6KMWoFPZL/dEnm9nI= github.com/multiformats/go-multistream v0.1.1/go.mod h1:KmHZ40hzVxiaiwlj3MEbYgK9JFk2/9UktWZAF54Du38= +github.com/multiformats/go-multistream v0.1.2/go.mod h1:5GZPQZbkWOLOn3J2y4Y99vVW7vOfsAflxARk3x14o6k= github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.2/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/multiformats/go-varint v0.0.5 h1:XVZwSo04Cs3j/jS0uAEPpT3JY6DzMcVLLoWOSnCxOjg= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= +github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= +github.com/mwitkow/go-proto-validators v0.3.2 h1:qRlmpTzm2pstMKKzTdvwPCF5QfBNURSlAgN/R+qbKos= +github.com/mwitkow/go-proto-validators v0.3.2/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= @@ -624,68 +625,46 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1 h1:mFwc4LvZ0xpSvDZ3E+k8Yte0hLOMxXUlP+yXtJqkYfQ= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.13.0 h1:M76yO2HkZASFjXL0HSoZJ1AYEmQxNJmY41Jx1zNUq1Y= -github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.1 h1:jMU0WaQrP0a/YAEq8eJmJKjBoMs+pClEr1vDMlM/Do4= +github.com/onsi/ginkgo v1.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3 h1:RE1xgDvH7imwFD45h+u2SgIfERHlS2yNG4DObb5BSKU= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.9.0 h1:R1uwffexN6Pr340GtYRIdZmAiN4J+iw6WG4wog1DUXg= github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.2 h1:aY/nuoWlKJud2J6U0E3NWsjlg+0GtwXxgEqthRdzlcs= +github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992 h1:bzMe+2coZJYHnhGgVlcQKuRy4FSny4ds8dLQjw5P1XE= github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 h1:CskT+S6Ay54OwxBGB0R3Rsx4Muto6UnEYTyKJbyRIAI= github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= -github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= +github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= -github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= -github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= -github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= -github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= -github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= -github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= -github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= -github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= -github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= -github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= -github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= -github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= -github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= -github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= -github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= -github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -696,8 +675,6 @@ github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2 github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= -github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= -github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= @@ -705,6 +682,8 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -713,28 +692,24 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho= -github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= -github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= -github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436 h1:qOpVTI+BrstcjTZLm2Yz/3sOnqkzj3FQoh0g+E5s3Gc= github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a h1:G++j5e0OC488te356JvdhaM8YS6nMsjLAYF7JxCv07w= github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= github.com/whyrusleeping/cbor-gen v0.0.0-20200123233031-1cdf64d27158 h1:WXhVOwj2USAXB5oMDwRl3piOux2XMV9TANaYxXHdkoE= github.com/whyrusleeping/cbor-gen v0.0.0-20200123233031-1cdf64d27158/go.mod h1:Xj/M2wWU+QdTdRbu/L/1dIZY8/Wb2K9pAhtroQuxJJI= -github.com/whyrusleeping/cbor-gen v0.0.0-20200504204219-64967432584d h1:Y25auOnuZb/GuJvqMflRSDWBz8/HBRME8fiD+H8zLfs= -github.com/whyrusleeping/cbor-gen v0.0.0-20200504204219-64967432584d/go.mod h1:W5MvapuoHRP8rz4vxjwCK1pDqF1aQcWsV5PZ+AHbqdg= +github.com/whyrusleeping/cbor-gen v0.0.0-20200826160007-0b9f6c5fb163 h1:TtcUeY2XZSriVWR1pXyfCBWIf/NGC2iUdNw1lofUjUU= +github.com/whyrusleeping/cbor-gen v0.0.0-20200826160007-0b9f6c5fb163/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ= github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc h1:9lDbC6Rz4bwmou+oE6Dt4Cb2BGMur5eR/GYptkKUVHo= github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= @@ -750,7 +725,7 @@ github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7/go. github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -763,6 +738,8 @@ go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/goleak v1.0.0 h1:qsup4IcBdlmsnGfqyLl4Ntn3C2XCCuKAE7DwHpScyUo= go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= @@ -770,18 +747,16 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEa go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -go.uber.org/zap v1.15.0 h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= -golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= +go.uber.org/zap v1.16.0 h1:uFRZXykJGK9lLY4HtgSw44DnIcAM+kRBP7x5m+NpAOM= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190225124518-7f87c0fbb88b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -789,16 +764,19 @@ golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 h1:vEg9joUBmeBcK9iSJftGNf3coIG4HqZElCPehJsfAYM= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -812,54 +790,50 @@ golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190228165749-92fc7df08ae7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA= +golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190405154228-4b34438f7a67/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -879,27 +853,22 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 h1:ogLJMz+qpzav7lGMh10LMvAkM/fAoGlaiiHYiFYdm80= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f h1:Fqb3ao1hUmOR3GkUOg/Y+BadLwykBIzs5q8Ez2SbHyc= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181130052023-1c3d964395ce/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -910,44 +879,37 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200619023621-037be6a06566 h1:49klx7QdOOhowArd5SbtZIcSClTNc0HBG5OrZQ8jQvQ= -golang.org/x/tools v0.0.0-20200619023621-037be6a06566/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200904185747-39188db58858 h1:xLt+iB5ksWcZVxqc+g9K41ZHy+6MKWfXCDsjSThnsPA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= -google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70 h1:wboULUXGF3c5qdUnKp+6gLAccE6PRpa/czkYvQ4UXv8= -google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d h1:92D1fum1bJLKSdr11OJ+54YeCMCGYIygTA7R/YZxH5M= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -965,12 +927,11 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d/go.mod h1:z+K8VcOYVYcSwSjGebuDL6176A1XskgbtNl64NSg+n8= gopkg.in/src-d/go-log.v1 v1.0.1/go.mod h1:GN34hKP0g305ysm2/hctJ0Y8nWP3zxXXJ8GFabTyABE= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= @@ -978,6 +939,7 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= @@ -986,16 +948,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= +honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= diff --git a/go/tools/tools.go b/go/tools/tools.go new file mode 100644 index 0000000..f890714 --- /dev/null +++ b/go/tools/tools.go @@ -0,0 +1,17 @@ +// +build tools + +//tools track tool dependencies, do not import +package tools + +import ( + _ "github.com/gogo/protobuf/protoc-gen-gogofast" + _ "github.com/gogo/protobuf/protoc-gen-gogofaster" + _ "github.com/gogo/protobuf/protoc-gen-gogoslick" + _ "github.com/gogo/protobuf/gogoproto" + _ "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/protoc-gen-gogo" + _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway" + _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger" + _ "github.com/mwitkow/go-proto-validators/protoc-gen-govalidators" + _ "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc" +) From b7e0579eb6e6990dc50217a44667eb23d2bd3430 Mon Sep 17 00:00:00 2001 From: nilpointer <69625202+RT-nilPointer@users.noreply.github.com> Date: Sat, 26 Sep 2020 16:05:33 +0800 Subject: [PATCH 11/13] downgrade go-libp2p-core because v0.7.0 has compatibilty problems for dependent projects. --- go.mod | 2 +- go.sum | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/go.mod b/go.mod index db0bcad..0acae32 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/ipfs/go-merkledag v0.3.2 github.com/kr/text v0.2.0 // indirect github.com/libp2p/go-libp2p v0.11.0 // indirect - github.com/libp2p/go-libp2p-core v0.7.0 + github.com/libp2p/go-libp2p-core v0.6.1 github.com/libp2p/go-libp2p-record v0.1.3 // indirect github.com/libp2p/go-sockaddr v0.1.0 // indirect github.com/mitchellh/copystructure v1.0.0 // indirect diff --git a/go.sum b/go.sum index 93b1999..cfd08d5 100644 --- a/go.sum +++ b/go.sum @@ -376,8 +376,6 @@ github.com/libp2p/go-libp2p-core v0.5.7/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX github.com/libp2p/go-libp2p-core v0.6.0 h1:u03qofNYTBN+yVg08PuAKylZogVf0xcTEeM8skGf+ak= github.com/libp2p/go-libp2p-core v0.6.0/go.mod h1:txwbVEhHEXikXn9gfC7/UDDw7rkxuX0bJvM49Ykaswo= github.com/libp2p/go-libp2p-core v0.6.1/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= -github.com/libp2p/go-libp2p-core v0.7.0 h1:4a0TMjrWNTZlNvcqxZmrMRDi/NQWrhwO2pkTuLSQ/IQ= -github.com/libp2p/go-libp2p-core v0.7.0/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ= github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI= github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g= From 1c3b6905c710b9511a0f3639651227fe6ee3f7c7 Mon Sep 17 00:00:00 2001 From: nilpointer <69625202+RT-nilPointer@users.noreply.github.com> Date: Sat, 26 Sep 2020 16:07:56 +0800 Subject: [PATCH 12/13] update deps --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 0acae32..1657636 100644 --- a/go.mod +++ b/go.mod @@ -44,17 +44,17 @@ require ( github.com/pkg/errors v0.9.1 github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 // indirect github.com/pseudomuto/protoc-gen-doc v1.3.2 - github.com/smartystreets/assertions v1.1.1 // indirect + github.com/smartystreets/assertions v1.2.0 // indirect github.com/smartystreets/goconvey v1.6.4 // indirect github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a // indirect github.com/whyrusleeping/cbor-gen v0.0.0-20200826160007-0b9f6c5fb163 // indirect go.uber.org/goleak v1.1.10 // indirect go.uber.org/zap v1.16.0 golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect - golang.org/x/net v0.0.0-20200904194848-62affa334b73 // indirect - golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f // indirect - golang.org/x/tools v0.0.0-20200904185747-39188db58858 // indirect - google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d // indirect + golang.org/x/net v0.0.0-20200925080053-05aa5d4ee321 // indirect + golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d // indirect + golang.org/x/tools v0.0.0-20200925191224-5d1fdd8fa346 // indirect + google.golang.org/genproto v0.0.0-20200925023002-c2d885f95484 // indirect google.golang.org/grpc v1.29.1 gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect diff --git a/go.sum b/go.sum index cfd08d5..3a72104 100644 --- a/go.sum +++ b/go.sum @@ -666,8 +666,8 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/assertions v1.1.1 h1:T/YLemO5Yp7KPzS+lVtu+WsHn8yoSwTfItdAd1r3cck= -github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= +github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= +github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa h1:E+gaaifzi2xF65PbDmuKI3PhLWY6G5opMLniFq8vmXA= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= @@ -808,8 +808,8 @@ golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200925080053-05aa5d4ee321 h1:lleNcKRbcaC8MqgLwghIkzZ2JBQAb7QQ9MiwRt1BisA= +golang.org/x/net v0.0.0-20200925080053-05aa5d4ee321/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -851,8 +851,8 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 h1:ogLJMz+qpzav7lGMh10LMvAkM/fAoGlaiiHYiFYdm80= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f h1:Fqb3ao1hUmOR3GkUOg/Y+BadLwykBIzs5q8Ez2SbHyc= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d h1:L/IKR6COd7ubZrs2oTnTi73IhgqJ71c9s80WsQnh0Es= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= @@ -878,8 +878,8 @@ golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200904185747-39188db58858 h1:xLt+iB5ksWcZVxqc+g9K41ZHy+6MKWfXCDsjSThnsPA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200925191224-5d1fdd8fa346 h1:hzJjkvxUIF3bSt+v8N5tBQNx/605vszZJ+3XsIamzZo= +golang.org/x/tools v0.0.0-20200925191224-5d1fdd8fa346/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -899,8 +899,8 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2El google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d h1:92D1fum1bJLKSdr11OJ+54YeCMCGYIygTA7R/YZxH5M= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200925023002-c2d885f95484 h1:Rr9EZdYRq2WLckzJQVtN3ISKoP7dvgwi7jbglILNZ34= +google.golang.org/genproto v0.0.0-20200925023002-c2d885f95484/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= From 7ee9da630fcc7d2fa8671e54ed5918ca9f9dcac3 Mon Sep 17 00:00:00 2001 From: nilpointer <69625202+RT-nilPointer@users.noreply.github.com> Date: Thu, 19 Nov 2020 11:07:05 +0800 Subject: [PATCH 13/13] add replace functionality to RefID --- doc/PROTO.md | 5 +- go/file.pb.go | 109 +++- go/node.pb.go | 315 ++++++---- go/pubsub.pb.go | 2 +- go/tools/tools.go | 6 +- js/file_pb.js | 31 +- js/node_pb.js | 62 +- pb/file.proto | 2 + pb/node.proto | 4 + pb/pubsub.proto | 2 +- py/file_pb2.py | 39 +- py/node_pb2.py | 114 ++-- rs/src/file.rs | 333 +++++----- rs/src/node.rs | 1468 ++++++++++++++++++++++++--------------------- rs/src/pubsub.rs | 44 +- rs/src/util.rs | 23 +- ts/file_pb.d.ts | 4 + ts/node_pb.d.ts | 8 + 18 files changed, 1471 insertions(+), 1100 deletions(-) diff --git a/doc/PROTO.md b/doc/PROTO.md index 41c2516..ae648a6 100644 --- a/doc/PROTO.md +++ b/doc/PROTO.md @@ -372,6 +372,7 @@ UploadOptions allows controlling the parameters of a file upload | chunker | [string](#string) | | specifies the chunker type (rabin, default, etc...) | | refID | [string](#string) | | optional reference ID to tag the file with. If set, the same reference ID must be used for deletion | | progressive | [bool](#bool) | | if refID is set, allows progressive upload | +| replace | [bool](#bool) | | if refID is set, remove the any existing uploads with same refID | @@ -535,6 +536,7 @@ BlockstoreRequest is a message used to control blockstores | hashFunc | [string](#string) | | the hash function to use when constructing blocks, default is sha2-256 sent by: BS_PUT, BS_PUT_MANY | | refID | [string](#string) | | reference ID to mark the blocks of this operation with when sent by BS_PUT, BS_PUT_MANY: only put if the id is not marked on block, otherwise noop when sent by BS_GET, BS_GET_MANY: only get if the id is marked on block when sent by BS_DELETE: only delete if the id is marked on block | | progressive | [bool](#bool) | | if refID is set, allows progressive upload | +| replace | [bool](#bool) | | if refID is set, remove the any existing blocks with same refID | @@ -662,6 +664,7 @@ Used to submit a request to Dag or DagStream RPCs | links | [DagRequest.LinksEntry](#pb.DagRequest.LinksEntry) | repeated | indicates links and their names. key = name, value = link hash sent by: DAG_NEW_NODE, DAG_ADD_LINKS | | refID | [string](#string) | | optional reference ID to mark the cid/hash with sent by: DAG_PUT, DAG_REMOVE | | progressive | [bool](#bool) | | if refID is set, allows progressive upload | +| replace | [bool](#bool) | | if refID is set, remove the any existing DAGs with same refID | @@ -1197,7 +1200,7 @@ PSREQTYPE indicates the particular PubSubAPI request being performed | PS_GET_TOPICS | 0 | PS_GET_TOPICS is used to return a list of subscribed pubsub topics | | PS_LIST_PEERS | 1 | PS_LIST_PEERS is used to return a list of peers subscribed to topics we are subscribed to | | PS_SUBSCRIBE | 2 | PS_SUBSCRIBE is used to establish a persistent subscription to a pubsub topic | -| PS_PUBLISH | 3 | PS_PUBLISH is used to publisbh a message to a pubsub topic | +| PS_PUBLISH | 3 | PS_PUBLISH is used to publish a message to a pubsub topic | diff --git a/go/file.pb.go b/go/file.pb.go index 5373438..8bb1c1d 100644 --- a/go/file.pb.go +++ b/go/file.pb.go @@ -93,6 +93,8 @@ type UploadOptions struct { RefID string `protobuf:"bytes,4,opt,name=refID,proto3" json:"refID,omitempty"` // if refID is set, allows progressive upload Progressive bool `protobuf:"varint,5,opt,name=progressive,proto3" json:"progressive,omitempty"` + // if refID is set, remove the any existing uploads with same refID + Replace bool `protobuf:"varint,6,opt,name=replace,proto3" json:"replace,omitempty"` } func (m *UploadOptions) Reset() { *m = UploadOptions{} } @@ -163,6 +165,13 @@ func (m *UploadOptions) GetProgressive() bool { return false } +func (m *UploadOptions) GetReplace() bool { + if m != nil { + return m.Replace + } + return false +} + // DownloadRequest is used to download a UnixFS object // although it can in theory be used with other type of objects // there may be some undefined behavior @@ -462,39 +471,40 @@ func init() { func init() { proto.RegisterFile("file.proto", fileDescriptor_9188e3b7e55e1162) } var fileDescriptor_9188e3b7e55e1162 = []byte{ - // 502 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x4d, 0x6f, 0xd3, 0x40, - 0x10, 0xcd, 0x26, 0xce, 0xd7, 0xa4, 0xa5, 0x65, 0x89, 0x90, 0x65, 0x15, 0x2b, 0xf2, 0x01, 0x45, - 0x42, 0x8a, 0xaa, 0x40, 0x25, 0x40, 0xe2, 0x40, 0xd5, 0x22, 0x7a, 0xa2, 0xda, 0x8a, 0x0b, 0xe2, - 0x62, 0xb7, 0xdb, 0xc6, 0xea, 0x76, 0xd7, 0xd8, 0xeb, 0xa0, 0x70, 0x41, 0xfc, 0x03, 0x6e, 0xfc, - 0x12, 0xfe, 0x03, 0xc7, 0x1e, 0x39, 0xa2, 0xe4, 0x8f, 0xa0, 0x1d, 0x7b, 0x6b, 0x27, 0x87, 0xde, - 0xfc, 0xde, 0xbc, 0x9d, 0x79, 0xfb, 0x76, 0x0c, 0x70, 0x19, 0x0b, 0x3e, 0x49, 0x52, 0xa5, 0x15, - 0x6d, 0x26, 0x91, 0x07, 0xb9, 0x8e, 0x45, 0x81, 0x83, 0x4f, 0xb0, 0xfd, 0x31, 0x11, 0x2a, 0xbc, - 0x60, 0xfc, 0x4b, 0xce, 0x33, 0x4d, 0xf7, 0xc0, 0x89, 0x84, 0x8a, 0x5c, 0x32, 0x22, 0xe3, 0xc1, - 0xb4, 0x37, 0x49, 0xa2, 0xc9, 0xa1, 0x50, 0x11, 0x43, 0x96, 0x3e, 0x83, 0xae, 0x4a, 0x74, 0xac, - 0x64, 0xe6, 0x36, 0x51, 0xf0, 0xd0, 0x08, 0x8a, 0x0e, 0x1f, 0x8a, 0x02, 0xb3, 0x8a, 0xe0, 0x17, - 0xb1, 0xcd, 0xcb, 0x12, 0xdd, 0x83, 0xfe, 0x4d, 0x2e, 0x74, 0xfc, 0x3e, 0xcc, 0x66, 0x38, 0xa1, - 0xcf, 0x2a, 0x82, 0x3e, 0x86, 0x8e, 0x08, 0x17, 0x2a, 0xd7, 0xd8, 0xbb, 0xcf, 0x4a, 0x44, 0x5d, - 0xe8, 0x9e, 0xcf, 0x72, 0x79, 0xcd, 0x53, 0xb7, 0x85, 0x05, 0x0b, 0xe9, 0x10, 0xda, 0x29, 0xbf, - 0x3c, 0x39, 0x72, 0x1d, 0xe4, 0x0b, 0x40, 0x47, 0x30, 0x48, 0x52, 0x75, 0x95, 0xf2, 0x2c, 0x8b, - 0xe7, 0xdc, 0x6d, 0x8f, 0xc8, 0xb8, 0xc7, 0xea, 0x54, 0xf0, 0x1d, 0x76, 0x8e, 0xd4, 0x57, 0x59, - 0xbf, 0x37, 0x05, 0x67, 0x56, 0xb9, 0xc2, 0x6f, 0x63, 0x17, 0x27, 0x9d, 0xc5, 0xdf, 0x38, 0x7a, - 0x6a, 0xb3, 0x8a, 0xa0, 0x3e, 0x40, 0x1a, 0xca, 0x2b, 0x7e, 0xa6, 0xc3, 0x54, 0xa3, 0x33, 0x87, - 0xd5, 0x18, 0xea, 0x41, 0x0f, 0xd1, 0xb1, 0xbc, 0x40, 0x7f, 0x0e, 0xbb, 0xc3, 0xc1, 0x3e, 0xec, - 0x56, 0x06, 0xb2, 0x44, 0xc9, 0x8c, 0xdf, 0x9f, 0x7c, 0xf0, 0x19, 0x1c, 0x83, 0x30, 0x0c, 0x25, - 0x35, 0x97, 0x1a, 0x85, 0x5b, 0xcc, 0xc2, 0x0d, 0x3f, 0xcd, 0x7b, 0xfd, 0xb4, 0x36, 0xfc, 0xfc, - 0x20, 0xb0, 0xcd, 0xf8, 0x8d, 0x9a, 0x73, 0x9b, 0xc7, 0x01, 0x74, 0x30, 0xcd, 0xcc, 0x25, 0xa3, - 0xd6, 0x78, 0x30, 0x7d, 0x62, 0xfc, 0xac, 0x49, 0x26, 0x0c, 0xeb, 0xc7, 0x52, 0xa7, 0x0b, 0x56, - 0x8a, 0xbd, 0x57, 0x30, 0xa8, 0xd1, 0x74, 0x17, 0x5a, 0xd7, 0x7c, 0x51, 0x86, 0x6a, 0x3e, 0xcd, - 0x93, 0xcd, 0x43, 0x91, 0xf3, 0xf2, 0x8d, 0x0b, 0xf0, 0xba, 0xf9, 0x92, 0x04, 0x4f, 0xe1, 0x81, - 0xed, 0x5f, 0x26, 0x32, 0x84, 0xf6, 0xb9, 0xca, 0xcb, 0x9b, 0x3a, 0xac, 0x00, 0xd3, 0xdf, 0x04, - 0xba, 0xef, 0x62, 0xc1, 0xdf, 0x9e, 0x9e, 0xd0, 0x17, 0x00, 0xc5, 0x86, 0x19, 0x82, 0xd6, 0x96, - 0xb1, 0xf4, 0xe8, 0xed, 0x18, 0xea, 0x34, 0xd7, 0xb6, 0x67, 0xd0, 0x18, 0x13, 0xfa, 0x06, 0xb6, - 0x6c, 0xfa, 0x78, 0xee, 0x91, 0x11, 0x6d, 0x2c, 0x84, 0x37, 0x5c, 0x27, 0xed, 0xf1, 0x7d, 0x42, - 0x0f, 0x00, 0x0a, 0xa3, 0xd5, 0xd0, 0xb5, 0x60, 0x3c, 0x5a, 0xa7, 0xec, 0xc1, 0x43, 0xf7, 0xcf, - 0xd2, 0x27, 0xb7, 0x4b, 0x9f, 0xfc, 0x5b, 0xfa, 0xe4, 0xe7, 0xca, 0x6f, 0xdc, 0xae, 0xfc, 0xc6, - 0xdf, 0x95, 0xdf, 0x88, 0x3a, 0xf8, 0x2f, 0x3e, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x76, 0x5d, - 0xf2, 0x81, 0xa9, 0x03, 0x00, 0x00, + // 515 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0xcf, 0x6e, 0xd3, 0x4e, + 0x18, 0xcc, 0x26, 0xce, 0xbf, 0x2f, 0xed, 0xaf, 0xfd, 0x2d, 0x11, 0xb2, 0xac, 0x62, 0x45, 0x3e, + 0xa0, 0x48, 0x48, 0x51, 0x15, 0xa8, 0x04, 0x48, 0x1c, 0xa8, 0x5a, 0x44, 0x4f, 0x54, 0x5b, 0x71, + 0x41, 0x5c, 0xec, 0x74, 0xdb, 0x58, 0xdd, 0x7a, 0xcd, 0x7a, 0x1d, 0x14, 0x2e, 0x88, 0x37, 0xe0, + 0x55, 0x38, 0xf0, 0x0e, 0x1c, 0x7b, 0xe4, 0x88, 0x92, 0x17, 0x41, 0xfb, 0xd9, 0x8b, 0x9d, 0x1c, + 0x7a, 0xf3, 0xcc, 0x37, 0x3b, 0x3b, 0x3b, 0xbb, 0x06, 0xb8, 0x8a, 0x05, 0x9f, 0xa4, 0x4a, 0x6a, + 0x49, 0x9b, 0x69, 0xe4, 0x41, 0xae, 0x63, 0x51, 0xe0, 0xe0, 0x03, 0xec, 0xbe, 0x4f, 0x85, 0x0c, + 0x2f, 0x19, 0xff, 0x94, 0xf3, 0x4c, 0xd3, 0x03, 0x70, 0x22, 0x21, 0x23, 0x97, 0x8c, 0xc8, 0x78, + 0x30, 0xed, 0x4d, 0xd2, 0x68, 0x72, 0x2c, 0x64, 0xc4, 0x90, 0xa5, 0x4f, 0xa0, 0x2b, 0x53, 0x1d, + 0xcb, 0x24, 0x73, 0x9b, 0x28, 0xf8, 0xdf, 0x08, 0x0a, 0x87, 0x77, 0xc5, 0x80, 0x59, 0x45, 0xf0, + 0x83, 0x58, 0xf3, 0x72, 0x44, 0x0f, 0xa0, 0x7f, 0x9b, 0x0b, 0x1d, 0xbf, 0x0d, 0xb3, 0x39, 0xee, + 0xd0, 0x67, 0x15, 0x41, 0x1f, 0x42, 0x47, 0x84, 0x4b, 0x99, 0x6b, 0xf4, 0xee, 0xb3, 0x12, 0x51, + 0x17, 0xba, 0xb3, 0x79, 0x9e, 0xdc, 0x70, 0xe5, 0xb6, 0x70, 0x60, 0x21, 0x1d, 0x42, 0x5b, 0xf1, + 0xab, 0xb3, 0x13, 0xd7, 0x41, 0xbe, 0x00, 0x74, 0x04, 0x83, 0x54, 0xc9, 0x6b, 0xc5, 0xb3, 0x2c, + 0x5e, 0x70, 0xb7, 0x3d, 0x22, 0xe3, 0x1e, 0xab, 0x53, 0xc6, 0x51, 0xf1, 0x54, 0x84, 0x33, 0xee, + 0x76, 0x70, 0x6a, 0x61, 0xf0, 0x15, 0xf6, 0x4e, 0xe4, 0xe7, 0xa4, 0xde, 0x08, 0x05, 0x67, 0x5e, + 0xe5, 0xc5, 0x6f, 0x73, 0x10, 0xcc, 0x70, 0x11, 0x7f, 0xe1, 0x98, 0xb6, 0xcd, 0x2a, 0x82, 0xfa, + 0x00, 0x2a, 0x4c, 0xae, 0xf9, 0x85, 0x0e, 0x95, 0xc6, 0xcc, 0x0e, 0xab, 0x31, 0xd4, 0x83, 0x1e, + 0xa2, 0xd3, 0xe4, 0x12, 0x93, 0x3b, 0xec, 0x1f, 0x0e, 0x0e, 0x61, 0xbf, 0x0a, 0x90, 0xa5, 0x32, + 0xc9, 0xf8, 0xfd, 0x77, 0x12, 0x7c, 0x04, 0xc7, 0x20, 0xac, 0x49, 0x26, 0x9a, 0x27, 0x1a, 0x85, + 0x3b, 0xcc, 0xc2, 0xad, 0x3c, 0xcd, 0x7b, 0xf3, 0xb4, 0xb6, 0xf2, 0x7c, 0x23, 0xb0, 0xcb, 0xf8, + 0xad, 0x5c, 0x70, 0xdb, 0xc7, 0x11, 0x74, 0xb0, 0xe7, 0xcc, 0x25, 0xa3, 0xd6, 0x78, 0x30, 0x7d, + 0x64, 0xf2, 0x6c, 0x48, 0x26, 0x0c, 0xe7, 0xa7, 0x89, 0x56, 0x4b, 0x56, 0x8a, 0xbd, 0x17, 0x30, + 0xa8, 0xd1, 0x74, 0x1f, 0x5a, 0x37, 0x7c, 0x59, 0x96, 0x6a, 0x3e, 0xcd, 0x65, 0x2e, 0x42, 0x91, + 0xf3, 0xf2, 0xf6, 0x0b, 0xf0, 0xb2, 0xf9, 0x9c, 0x04, 0x8f, 0xe1, 0x3f, 0xeb, 0x5f, 0x36, 0x32, + 0x84, 0xf6, 0x4c, 0xe6, 0xe5, 0x49, 0x1d, 0x56, 0x80, 0xe9, 0x4f, 0x02, 0xdd, 0x37, 0xb1, 0xe0, + 0xaf, 0xcf, 0xcf, 0xe8, 0x33, 0x80, 0xe2, 0xed, 0x19, 0x82, 0xd6, 0x9e, 0x69, 0x99, 0xd1, 0xdb, + 0x33, 0xd4, 0x79, 0xae, 0xad, 0x67, 0xd0, 0x18, 0x13, 0xfa, 0x0a, 0x76, 0x6c, 0xfb, 0xb8, 0xee, + 0x81, 0x11, 0x6d, 0x3d, 0x08, 0x6f, 0xb8, 0x49, 0xda, 0xe5, 0x87, 0x84, 0x1e, 0x01, 0x14, 0x41, + 0xab, 0x4d, 0x37, 0x8a, 0xf1, 0x68, 0x9d, 0xb2, 0x0b, 0x8f, 0xdd, 0x5f, 0x2b, 0x9f, 0xdc, 0xad, + 0x7c, 0xf2, 0x67, 0xe5, 0x93, 0xef, 0x6b, 0xbf, 0x71, 0xb7, 0xf6, 0x1b, 0xbf, 0xd7, 0x7e, 0x23, + 0xea, 0xe0, 0x5f, 0xfa, 0xf4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x31, 0x98, 0x8c, 0x90, 0xc3, + 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -784,6 +794,16 @@ func (m *UploadOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Replace { + i-- + if m.Replace { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } if m.Progressive { i-- if m.Progressive { @@ -1068,6 +1088,9 @@ func (m *UploadOptions) Size() (n int) { if m.Progressive { n += 2 } + if m.Replace { + n += 2 + } return n } @@ -1462,6 +1485,26 @@ func (m *UploadOptions) Unmarshal(dAtA []byte) error { } } m.Progressive = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Replace", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFile + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Replace = bool(v != 0) default: iNdEx = preIndex skippy, err := skipFile(dAtA[iNdEx:]) diff --git a/go/node.pb.go b/go/node.pb.go index 281827b..38d4977 100644 --- a/go/node.pb.go +++ b/go/node.pb.go @@ -918,6 +918,8 @@ type BlockstoreRequest struct { RefID string `protobuf:"bytes,8,opt,name=refID,proto3" json:"refID,omitempty"` // if refID is set, allows progressive upload Progressive bool `protobuf:"varint,9,opt,name=progressive,proto3" json:"progressive,omitempty"` + // if refID is set, remove the any existing blocks with same refID + Replace bool `protobuf:"varint,10,opt,name=replace,proto3" json:"replace,omitempty"` } func (m *BlockstoreRequest) Reset() { *m = BlockstoreRequest{} } @@ -1009,6 +1011,13 @@ func (m *BlockstoreRequest) GetProgressive() bool { return false } +func (m *BlockstoreRequest) GetReplace() bool { + if m != nil { + return m.Replace + } + return false +} + // BlockstoreResponse is a response to a BlockstoreRequest type BlockstoreResponse struct { // indicates the particular request type being made @@ -1168,6 +1177,8 @@ type DagRequest struct { RefID string `protobuf:"bytes,9,opt,name=refID,proto3" json:"refID,omitempty"` // if refID is set, allows progressive upload Progressive bool `protobuf:"varint,10,opt,name=progressive,proto3" json:"progressive,omitempty"` + // if refID is set, remove the any existing DAGs with same refID + Replace bool `protobuf:"varint,11,opt,name=replace,proto3" json:"replace,omitempty"` } func (m *DagRequest) Reset() { *m = DagRequest{} } @@ -1273,6 +1284,13 @@ func (m *DagRequest) GetProgressive() bool { return false } +func (m *DagRequest) GetReplace() bool { + if m != nil { + return m.Replace + } + return false +} + // Used in response to a Dag or DagStream RPC type DagResponse struct { // indicates the request being performed @@ -1871,121 +1889,122 @@ func init() { func init() { proto.RegisterFile("node.proto", fileDescriptor_0c843d59d2d938e7) } var fileDescriptor_0c843d59d2d938e7 = []byte{ - // 1820 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x8e, 0xdb, 0xc8, - 0x11, 0x16, 0xa9, 0x9f, 0x91, 0x4a, 0xf3, 0x43, 0xb7, 0x1d, 0x47, 0x51, 0x02, 0x65, 0xc2, 0x04, - 0x9b, 0xc1, 0x20, 0x18, 0x1b, 0xda, 0x0d, 0xec, 0x0d, 0x36, 0x08, 0x28, 0x91, 0x33, 0xab, 0xe8, - 0x37, 0xa4, 0xc6, 0x6b, 0x03, 0x01, 0x04, 0x8e, 0xd4, 0x3b, 0x66, 0x4c, 0x91, 0x5a, 0x92, 0x9a, - 0xcd, 0x18, 0x39, 0xe5, 0x96, 0x5b, 0xf2, 0x04, 0xb9, 0xe4, 0x90, 0x17, 0x08, 0x72, 0xc8, 0x0b, - 0xe4, 0xb8, 0xc7, 0x3d, 0x06, 0xf6, 0x39, 0x0f, 0x90, 0x5b, 0x50, 0xdd, 0x4d, 0x8a, 0xd4, 0x70, - 0x76, 0xec, 0xbd, 0x75, 0x55, 0x57, 0x55, 0x7f, 0xf5, 0xd3, 0xd5, 0x45, 0x02, 0x78, 0xfe, 0x82, - 0x9e, 0xac, 0x02, 0x3f, 0xf2, 0x89, 0xbc, 0xba, 0x68, 0xc2, 0x3a, 0x72, 0x5c, 0x4e, 0xab, 0x5f, - 0xcb, 0x00, 0x93, 0xf6, 0xc4, 0xa4, 0x5f, 0xac, 0x69, 0x18, 0x91, 0xc7, 0x50, 0x0f, 0xf8, 0x72, - 0x7a, 0xbd, 0xa2, 0x0d, 0xe9, 0x50, 0x3a, 0xda, 0x6f, 0xef, 0x9f, 0xac, 0x2e, 0x4e, 0x50, 0xc8, - 0xf8, 0xcd, 0xf4, 0xc5, 0xc4, 0x30, 0xd3, 0x22, 0x44, 0x81, 0xa2, 0xed, 0xba, 0x0d, 0xf9, 0x50, - 0x3a, 0xaa, 0x9a, 0xb8, 0x24, 0x0d, 0xd8, 0xb9, 0xa2, 0xc1, 0x85, 0x1f, 0xd2, 0x46, 0x91, 0x71, - 0x63, 0x92, 0xa8, 0xb0, 0xcb, 0x4e, 0x9d, 0xfb, 0xee, 0xc8, 0x5e, 0xd2, 0x46, 0xe9, 0x50, 0x3a, - 0xaa, 0x99, 0x19, 0x1e, 0xf9, 0x09, 0xec, 0xb9, 0x4e, 0x18, 0x51, 0x4f, 0x5b, 0x2c, 0x02, 0x1a, - 0x86, 0x8d, 0x32, 0x13, 0xca, 0x32, 0x51, 0x2a, 0xb2, 0x83, 0x4b, 0x1a, 0xc5, 0x52, 0x15, 0x2e, - 0x95, 0x61, 0xa2, 0x54, 0x40, 0x97, 0x7e, 0x44, 0x63, 0xa9, 0x1d, 0x2e, 0x95, 0x61, 0x92, 0x36, - 0x3c, 0xb0, 0x5d, 0xd7, 0xff, 0xb2, 0xbb, 0x0e, 0x23, 0x7f, 0x39, 0x11, 0x60, 0xc2, 0x46, 0x95, - 0x81, 0xcf, 0xdd, 0x43, 0x4f, 0x02, 0xba, 0xf2, 0x83, 0x68, 0x42, 0x69, 0xd0, 0xd3, 0x1b, 0x35, - 0x26, 0x9b, 0xe1, 0xa9, 0x7f, 0x97, 0xa0, 0xce, 0x42, 0x1b, 0xae, 0x7c, 0x2f, 0xa4, 0xdf, 0x22, - 0xb6, 0x0f, 0xa0, 0xec, 0xd9, 0x4b, 0x1a, 0x36, 0xe4, 0xc3, 0xe2, 0x51, 0xcd, 0xe4, 0x04, 0x39, - 0x84, 0xfa, 0xdc, 0xf7, 0xbc, 0xb0, 0xeb, 0xfa, 0x21, 0x5d, 0xb0, 0x18, 0x97, 0xcd, 0x34, 0x8b, - 0x3c, 0x82, 0x7a, 0x18, 0x05, 0xd4, 0x5e, 0xf6, 0xbc, 0xcf, 0xfd, 0xb0, 0x51, 0x3a, 0x2c, 0x1e, - 0xd5, 0xdb, 0x7b, 0xe2, 0xa4, 0x41, 0x88, 0x5c, 0x33, 0x2d, 0xa1, 0xfe, 0x45, 0x82, 0x5a, 0xb2, - 0x75, 0x23, 0x4d, 0xd2, 0xbb, 0xa4, 0x49, 0x7e, 0xa7, 0x34, 0x15, 0xf3, 0xd2, 0xf4, 0x00, 0xca, - 0xae, 0x3f, 0xb7, 0x5d, 0x56, 0x0f, 0x55, 0x93, 0x13, 0xea, 0xcf, 0x40, 0x39, 0xa3, 0x2c, 0x96, - 0x61, 0x12, 0xc2, 0x06, 0xec, 0xac, 0x58, 0x70, 0xc3, 0x86, 0xc4, 0x42, 0x12, 0x93, 0xea, 0x1f, - 0x25, 0x38, 0xe8, 0xfa, 0x9e, 0x37, 0xbc, 0x5c, 0x46, 0x71, 0x31, 0xff, 0x3c, 0x2f, 0xe0, 0xf7, - 0x31, 0x0c, 0xdd, 0xf1, 0x68, 0x34, 0x3c, 0x1b, 0x4e, 0x73, 0xa3, 0xde, 0x02, 0x58, 0xae, 0xdd, - 0xc8, 0x41, 0x78, 0x71, 0xe8, 0x53, 0x9c, 0x34, 0x88, 0x62, 0x16, 0xc4, 0x7f, 0x65, 0x50, 0x36, - 0x20, 0x04, 0xe6, 0x6f, 0x89, 0x42, 0x83, 0x1a, 0xa6, 0x94, 0xce, 0x23, 0xba, 0x60, 0x20, 0xea, - 0xed, 0x1f, 0x33, 0xa5, 0x2d, 0xfb, 0x8c, 0xc1, 0xa4, 0x0c, 0x2f, 0x0a, 0xae, 0xcd, 0x8d, 0x16, - 0x79, 0x0a, 0x95, 0x30, 0xb2, 0xa3, 0x35, 0xc7, 0x59, 0x6f, 0x1f, 0xe6, 0xea, 0x5b, 0x4c, 0x84, - 0x2b, 0x0b, 0xf9, 0xb4, 0x8b, 0xa5, 0x8c, 0x8b, 0xcd, 0x4f, 0x60, 0x3f, 0x7b, 0x20, 0x36, 0x80, - 0x57, 0xf4, 0x5a, 0x14, 0x09, 0x2e, 0x31, 0x9f, 0x57, 0xb6, 0xbb, 0xa6, 0xa2, 0x29, 0x70, 0xe2, - 0x17, 0xf2, 0x53, 0xa9, 0x39, 0x84, 0x7a, 0xea, 0xb8, 0x1c, 0xd5, 0xa3, 0xb4, 0x6a, 0xbd, 0x4d, - 0xd2, 0x88, 0xb9, 0x66, 0xca, 0x9c, 0x3a, 0xe0, 0x60, 0x36, 0x9b, 0x58, 0xba, 0x0b, 0x27, 0xdc, - 0x04, 0x4e, 0xe2, 0xf7, 0x32, 0xcd, 0x23, 0x0f, 0xa1, 0x12, 0x50, 0x3b, 0xf4, 0x3d, 0x51, 0xb3, - 0x82, 0x52, 0x5f, 0xc3, 0x9e, 0xf1, 0xfb, 0x28, 0xb0, 0xc3, 0xb8, 0x7e, 0x3e, 0xcc, 0xcb, 0xdc, - 0x3d, 0x84, 0x64, 0x3c, 0x9f, 0x9a, 0x9a, 0x95, 0x9b, 0xb7, 0x8f, 0x60, 0x8f, 0x32, 0x2b, 0xa7, - 0xd4, 0x8e, 0xd6, 0x01, 0xf7, 0x44, 0xdc, 0x73, 0xae, 0xc6, 0x74, 0xb2, 0x42, 0xea, 0x9f, 0x64, - 0xb8, 0xd7, 0x71, 0xfd, 0xf9, 0xab, 0x30, 0xf2, 0x03, 0x1a, 0x03, 0x78, 0x94, 0x07, 0x80, 0xdd, - 0xe3, 0x4e, 0xfe, 0xe1, 0x3f, 0x85, 0x9d, 0x80, 0x7e, 0x31, 0x5e, 0x45, 0xbc, 0x6e, 0xd3, 0xc2, - 0xe3, 0xc9, 0xd4, 0x32, 0xe3, 0x5d, 0x42, 0xa0, 0x34, 0x77, 0x16, 0x71, 0x01, 0xb3, 0x35, 0xf2, - 0x16, 0x76, 0x64, 0xb3, 0x8c, 0xef, 0x9a, 0x6c, 0x8d, 0x77, 0x61, 0xee, 0x2c, 0x9e, 0xd1, 0x20, - 0x74, 0x7c, 0x4f, 0xb4, 0xe2, 0x14, 0x87, 0x34, 0xa1, 0xfa, 0xd2, 0x0e, 0x5f, 0x9e, 0xae, 0xbd, - 0xb9, 0x68, 0xae, 0x09, 0x8d, 0x65, 0x10, 0xd0, 0xcf, 0x7b, 0x3a, 0x6b, 0xa4, 0x35, 0x93, 0x13, - 0xd8, 0xbd, 0x56, 0x81, 0x7f, 0x89, 0x17, 0xdf, 0xb9, 0xa2, 0xa2, 0x71, 0xa6, 0x59, 0xea, 0x4b, - 0x20, 0xe9, 0x50, 0x88, 0x6b, 0xf4, 0xde, 0xb1, 0xf8, 0x11, 0x54, 0x2e, 0x98, 0x19, 0x71, 0x7b, - 0x6a, 0x4c, 0x16, 0x39, 0xa6, 0xd8, 0x50, 0x35, 0x28, 0x33, 0x06, 0x16, 0xe2, 0xdc, 0x59, 0xc4, - 0x85, 0x38, 0x77, 0x16, 0x49, 0x30, 0x30, 0x7b, 0x71, 0x30, 0x08, 0x94, 0x42, 0xe7, 0x35, 0x7f, - 0xd5, 0x8a, 0x26, 0x5b, 0xab, 0x7f, 0x2d, 0x02, 0xe8, 0xf6, 0xe5, 0xdd, 0xef, 0xa7, 0xae, 0x9d, - 0xe5, 0xc2, 0xcc, 0x3b, 0xe8, 0x03, 0xd8, 0xf7, 0x2f, 0x7e, 0x47, 0xe7, 0x91, 0xe1, 0xcd, 0xfd, - 0x85, 0xe3, 0x5d, 0x8a, 0xbe, 0xb9, 0xc5, 0x25, 0x8f, 0xe1, 0x7e, 0x48, 0x03, 0xc7, 0x76, 0x9d, - 0xd7, 0x76, 0xe4, 0xf8, 0xde, 0xa9, 0x1f, 0x2c, 0xed, 0x48, 0x3c, 0xab, 0x79, 0x5b, 0x99, 0x7c, - 0x95, 0xb7, 0xf2, 0x95, 0xcd, 0x75, 0x85, 0x39, 0x99, 0xce, 0x35, 0x81, 0x12, 0xca, 0x8a, 0x3c, - 0xb3, 0x35, 0x79, 0x04, 0x65, 0xd7, 0xf1, 0x5e, 0xe1, 0x63, 0x89, 0x31, 0xfe, 0x1e, 0xf3, 0x34, - 0x09, 0xc7, 0xc9, 0x00, 0xf7, 0x78, 0x6b, 0xe1, 0x72, 0x9b, 0xa2, 0xa8, 0x7d, 0x43, 0x51, 0xc0, - 0x8d, 0xa2, 0x68, 0x3e, 0x05, 0xd8, 0x18, 0xbb, 0xab, 0xe7, 0xd4, 0xd2, 0x4d, 0xe2, 0x1f, 0x32, - 0xd4, 0x19, 0xa4, 0x3b, 0x9f, 0xe1, 0xdb, 0x52, 0xf4, 0x10, 0x2a, 0xe8, 0x6c, 0xf2, 0x0e, 0x0b, - 0x0a, 0xbb, 0x64, 0x60, 0x7f, 0xa9, 0x63, 0xf6, 0x8a, 0x2c, 0x7b, 0x31, 0x49, 0xd4, 0x38, 0x2c, - 0xfc, 0xe9, 0xdd, 0x45, 0xeb, 0xbd, 0xc9, 0x40, 0x47, 0x17, 0xe2, 0x48, 0x7c, 0x02, 0x35, 0x9c, - 0xcb, 0xb0, 0x71, 0xe1, 0x90, 0x83, 0x72, 0xad, 0x24, 0x7c, 0xa2, 0x37, 0x8f, 0x62, 0x01, 0xd1, - 0xdb, 0x13, 0x05, 0xf4, 0x77, 0xee, 0xaf, 0xbd, 0x88, 0xe5, 0xa9, 0x64, 0x72, 0xa2, 0xf9, 0x6b, - 0xd8, 0xcf, 0xaa, 0xe4, 0x44, 0x4a, 0xcd, 0xb6, 0xd8, 0x04, 0x1b, 0x2a, 0xa5, 0xe3, 0xf6, 0x37, - 0x09, 0xaa, 0x31, 0x1f, 0xeb, 0xc6, 0x5b, 0x2f, 0x59, 0x06, 0x98, 0xad, 0xa2, 0x99, 0xd0, 0xe4, - 0x07, 0x50, 0x63, 0xf7, 0xc9, 0xc2, 0xbb, 0x21, 0xb3, 0xcd, 0x0d, 0x03, 0x35, 0xd1, 0x5f, 0x6b, - 0x73, 0x71, 0x12, 0x1a, 0xeb, 0x7c, 0xbe, 0x5e, 0xae, 0x5d, 0x3b, 0x72, 0xae, 0x28, 0x93, 0x28, - 0x31, 0x89, 0x2d, 0x2e, 0xda, 0xc0, 0x7b, 0xc1, 0x24, 0xca, 0xdc, 0x46, 0x4c, 0xab, 0xa7, 0x1c, - 0x25, 0x42, 0x49, 0x2a, 0x54, 0xe2, 0x77, 0x89, 0x55, 0x28, 0x81, 0x12, 0x8e, 0x4d, 0xa2, 0x2e, - 0xd8, 0x3a, 0x73, 0x91, 0x4b, 0xe2, 0x22, 0x77, 0xb8, 0x1d, 0x0c, 0xdf, 0x26, 0x7d, 0xf2, 0xed, - 0xe9, 0x8b, 0xef, 0xad, 0xb4, 0xb9, 0xb7, 0xea, 0x15, 0x1c, 0xf4, 0xe9, 0xf5, 0x3b, 0xb6, 0xf0, - 0xbe, 0x75, 0x5b, 0x3f, 0xb8, 0x81, 0xb7, 0x05, 0xb0, 0x0a, 0x9c, 0x2b, 0x3b, 0xa2, 0x7d, 0x7a, - 0x2d, 0x6a, 0x2d, 0xc5, 0xc1, 0xf1, 0x4d, 0xd9, 0x1c, 0x7c, 0x67, 0xc3, 0xbc, 0xe5, 0xe4, 0xec, - 0x29, 0xf2, 0xf6, 0x29, 0x98, 0x85, 0x57, 0xf4, 0x7a, 0xc4, 0x06, 0x52, 0xfe, 0x6e, 0x24, 0x34, - 0x96, 0xd9, 0x4b, 0x3b, 0x14, 0x03, 0x1c, 0x2e, 0xd5, 0xdf, 0xc2, 0xfe, 0x04, 0x1b, 0x47, 0x98, - 0x8c, 0x63, 0xf1, 0x9b, 0x23, 0xa5, 0xde, 0x9c, 0xa4, 0x1d, 0xc8, 0xdf, 0xd0, 0x0e, 0xca, 0x37, - 0xdf, 0x88, 0xff, 0x49, 0x70, 0x90, 0x98, 0x17, 0x0e, 0x3f, 0x49, 0xc6, 0x1d, 0x89, 0xa5, 0xed, - 0x87, 0x6c, 0xe0, 0xcd, 0x0a, 0xe5, 0x4e, 0x3b, 0x4f, 0xa0, 0x42, 0x83, 0xc0, 0x0f, 0xe2, 0x7c, - 0xe7, 0x2a, 0x1a, 0x4c, 0x42, 0x28, 0x72, 0xf1, 0xe6, 0xc7, 0x77, 0x8d, 0x33, 0xb7, 0x4f, 0x42, - 0x1f, 0x43, 0x3d, 0x65, 0xf1, 0x7d, 0x1a, 0xda, 0xf1, 0x53, 0xfe, 0xc5, 0xc6, 0x53, 0x48, 0x6a, - 0x50, 0xee, 0x0e, 0xc6, 0x96, 0xa1, 0x14, 0x48, 0x1d, 0x76, 0x4e, 0xc7, 0xe6, 0x67, 0x9a, 0xa9, - 0x2b, 0x12, 0x01, 0xa8, 0x0c, 0x7a, 0xd6, 0xd4, 0x18, 0x29, 0x32, 0xa9, 0x80, 0x3c, 0xb0, 0x94, - 0xe2, 0xf1, 0x39, 0x1c, 0x6c, 0xcd, 0x9c, 0x64, 0x1f, 0xa0, 0x3b, 0x9c, 0x21, 0xd7, 0xe8, 0x4e, - 0x95, 0x02, 0xb9, 0x07, 0x7b, 0xdd, 0xe1, 0x4c, 0xef, 0x59, 0x31, 0x4b, 0x22, 0x7b, 0x50, 0xeb, - 0x0e, 0x67, 0xd6, 0x54, 0x9b, 0x9e, 0x5b, 0x8a, 0x4c, 0x14, 0xd8, 0xed, 0x0e, 0x67, 0x67, 0xc6, - 0x74, 0x36, 0x31, 0x0c, 0x13, 0xcd, 0x9e, 0xc0, 0x5e, 0x66, 0x20, 0x42, 0x0d, 0xe3, 0xf9, 0xcc, - 0x18, 0x69, 0x9d, 0x01, 0xe2, 0xda, 0x07, 0x30, 0x9e, 0xa3, 0x4d, 0x46, 0x4b, 0xc7, 0xbf, 0x42, - 0x3a, 0x9e, 0x84, 0xc8, 0x2e, 0x54, 0x7b, 0xba, 0x31, 0x9a, 0xf6, 0x4e, 0x5f, 0x28, 0x05, 0x84, - 0x3d, 0x39, 0xef, 0x58, 0xe7, 0x1d, 0x7e, 0x30, 0x03, 0xf2, 0xcc, 0x30, 0x5f, 0x28, 0x32, 0xa9, - 0x42, 0x69, 0xa8, 0x8f, 0xf0, 0xc0, 0x7f, 0x49, 0x50, 0xeb, 0xa4, 0x4f, 0xeb, 0x58, 0x33, 0xdd, - 0x18, 0x18, 0x53, 0x83, 0x5b, 0xe8, 0x58, 0xb3, 0xc9, 0x39, 0x42, 0x3f, 0x80, 0x3a, 0x5f, 0xcf, - 0x86, 0xda, 0x08, 0x6d, 0xf0, 0xcd, 0x33, 0x63, 0xaa, 0x14, 0xc5, 0x26, 0x3a, 0xc2, 0x36, 0x4b, - 0x88, 0x53, 0x30, 0xb4, 0xc1, 0x40, 0x29, 0xa3, 0xa7, 0x82, 0x46, 0xe7, 0x2d, 0xa5, 0x22, 0xd4, - 0x3f, 0xd5, 0x2c, 0x65, 0x87, 0x34, 0xe1, 0x21, 0x5f, 0x7f, 0x3a, 0x1b, 0x8f, 0x66, 0xa6, 0xa1, - 0xe9, 0xb1, 0xc7, 0x55, 0xf2, 0x7d, 0xf8, 0xee, 0xf6, 0x5e, 0xec, 0x7e, 0xed, 0xf8, 0x03, 0x01, - 0x1e, 0x27, 0x32, 0xcc, 0x99, 0x6e, 0x9c, 0x6a, 0xe7, 0x03, 0x0c, 0xfe, 0x2e, 0x54, 0x3b, 0xd6, - 0xec, 0x74, 0x6c, 0x76, 0x31, 0x4c, 0x7f, 0x00, 0xd8, 0xbc, 0x48, 0x4c, 0x50, 0x3b, 0x63, 0x7e, - 0x15, 0x62, 0x02, 0xfd, 0x90, 0x10, 0x26, 0x12, 0x23, 0xe3, 0xb3, 0xd9, 0x68, 0xac, 0x1b, 0x8a, - 0x8c, 0x49, 0x44, 0x8e, 0xa6, 0xeb, 0xb3, 0x41, 0x6f, 0xd4, 0xb7, 0x94, 0x62, 0xcc, 0x42, 0x67, - 0x38, 0xab, 0x84, 0xa7, 0x21, 0x0b, 0x7d, 0x53, 0xca, 0xe8, 0x3c, 0x52, 0xa6, 0x31, 0x1c, 0x3f, - 0x33, 0x94, 0xca, 0x71, 0x1f, 0x6a, 0x49, 0x9f, 0x40, 0xbf, 0xfb, 0xdc, 0xef, 0x82, 0x58, 0xf3, - 0xa3, 0xf9, 0x1a, 0x31, 0xc9, 0x98, 0x86, 0x7e, 0x92, 0x86, 0x22, 0x42, 0xec, 0x5b, 0x33, 0x2c, - 0x41, 0xa5, 0xd4, 0xfe, 0x67, 0x11, 0x76, 0xb0, 0xb3, 0x6a, 0x93, 0x1e, 0x79, 0x02, 0xd5, 0x78, - 0x68, 0x27, 0xf7, 0xb3, 0x5f, 0x24, 0xac, 0x4f, 0x34, 0x1f, 0xe4, 0x7d, 0xa6, 0xa8, 0x05, 0x72, - 0x04, 0x15, 0x3e, 0x9f, 0x13, 0x3e, 0x83, 0xa7, 0x67, 0xf5, 0x26, 0x9b, 0xee, 0x8c, 0xe5, 0x2a, - 0xba, 0x66, 0x92, 0xc5, 0x49, 0x7b, 0x42, 0x92, 0x6f, 0x6b, 0x21, 0x73, 0x90, 0xd0, 0x89, 0xcd, - 0x5f, 0x02, 0x6c, 0x66, 0x4d, 0xf2, 0x9d, 0x64, 0x44, 0x4c, 0xf7, 0xf0, 0xe6, 0xc3, 0x6d, 0x76, - 0xa2, 0x7e, 0x06, 0xca, 0x86, 0x6f, 0xb1, 0x0f, 0xea, 0xf7, 0x36, 0x72, 0x24, 0x3d, 0x96, 0x10, - 0xb1, 0x6e, 0x5f, 0x72, 0xc4, 0x9b, 0xf9, 0x89, 0x23, 0x4e, 0x0d, 0x04, 0x6a, 0x01, 0xc3, 0x17, - 0xb7, 0x7a, 0x1e, 0xbe, 0xad, 0x17, 0x87, 0x87, 0x6f, 0xfb, 0x35, 0x50, 0x0b, 0xe4, 0x23, 0xd8, - 0x11, 0x3d, 0x8d, 0x90, 0x4c, 0x83, 0xe3, 0x6a, 0xf7, 0x73, 0x9a, 0x9e, 0x5a, 0xe8, 0x34, 0xfe, - 0xfd, 0xa6, 0x25, 0x7d, 0xf5, 0xa6, 0x25, 0xfd, 0xe7, 0x4d, 0x4b, 0xfa, 0xf3, 0xdb, 0x56, 0xe1, - 0xab, 0xb7, 0xad, 0xc2, 0xd7, 0x6f, 0x5b, 0x85, 0x8b, 0x0a, 0xfb, 0x1f, 0xf0, 0xe1, 0xff, 0x03, - 0x00, 0x00, 0xff, 0xff, 0xe3, 0xec, 0xee, 0xdc, 0x5e, 0x12, 0x00, 0x00, + // 1833 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0x5f, 0x8f, 0xdb, 0x58, + 0x15, 0x8f, 0x9d, 0x3f, 0x93, 0x9c, 0xcc, 0x1f, 0xf7, 0xb6, 0x94, 0x10, 0x50, 0x18, 0x0c, 0x5a, + 0x46, 0x23, 0x34, 0xad, 0xb2, 0x8b, 0xda, 0x45, 0x8b, 0x90, 0x13, 0x7b, 0x66, 0x43, 0xfe, 0x62, + 0x67, 0xba, 0xad, 0x84, 0x14, 0x79, 0x92, 0xbb, 0x53, 0x53, 0xc7, 0xce, 0xda, 0xce, 0x2c, 0x53, + 0xf1, 0xc4, 0x27, 0x80, 0xcf, 0x00, 0x0f, 0x7c, 0x01, 0x84, 0x10, 0x5f, 0x80, 0xc7, 0x7d, 0xdc, + 0x47, 0xd4, 0x3e, 0xf3, 0x01, 0x78, 0x43, 0xe7, 0xde, 0x6b, 0xc7, 0x4e, 0x3d, 0x9d, 0xb6, 0x6f, + 0xf7, 0x9c, 0x7b, 0xce, 0xbd, 0xbf, 0xf3, 0xf7, 0x1e, 0x1b, 0xc0, 0xf3, 0x17, 0xf4, 0x64, 0x15, + 0xf8, 0x91, 0x4f, 0xe4, 0xd5, 0x45, 0x13, 0xd6, 0x91, 0xe3, 0x72, 0x5a, 0xfd, 0x56, 0x06, 0x98, + 0xb4, 0x27, 0x26, 0xfd, 0x6a, 0x4d, 0xc3, 0x88, 0x3c, 0x84, 0x7a, 0xc0, 0x97, 0xd3, 0xeb, 0x15, + 0x6d, 0x48, 0x87, 0xd2, 0xd1, 0x7e, 0x7b, 0xff, 0x64, 0x75, 0x71, 0x82, 0x42, 0xc6, 0x6f, 0xa6, + 0xcf, 0x26, 0x86, 0x99, 0x16, 0x21, 0x0a, 0x14, 0x6d, 0xd7, 0x6d, 0xc8, 0x87, 0xd2, 0x51, 0xd5, + 0xc4, 0x25, 0x69, 0xc0, 0xce, 0x15, 0x0d, 0x2e, 0xfc, 0x90, 0x36, 0x8a, 0x8c, 0x1b, 0x93, 0x44, + 0x85, 0x5d, 0x76, 0xeb, 0xdc, 0x77, 0x47, 0xf6, 0x92, 0x36, 0x4a, 0x87, 0xd2, 0x51, 0xcd, 0xcc, + 0xf0, 0xc8, 0x4f, 0x60, 0xcf, 0x75, 0xc2, 0x88, 0x7a, 0xda, 0x62, 0x11, 0xd0, 0x30, 0x6c, 0x94, + 0x99, 0x50, 0x96, 0x89, 0x52, 0x91, 0x1d, 0x5c, 0xd2, 0x28, 0x96, 0xaa, 0x70, 0xa9, 0x0c, 0x13, + 0xa5, 0x02, 0xba, 0xf4, 0x23, 0x1a, 0x4b, 0xed, 0x70, 0xa9, 0x0c, 0x93, 0xb4, 0xe1, 0x9e, 0xed, + 0xba, 0xfe, 0xd7, 0xdd, 0x75, 0x18, 0xf9, 0xcb, 0x89, 0x00, 0x13, 0x36, 0xaa, 0x0c, 0x7c, 0xee, + 0x1e, 0x5a, 0x12, 0xd0, 0x95, 0x1f, 0x44, 0x13, 0x4a, 0x83, 0x9e, 0xde, 0xa8, 0x31, 0xd9, 0x0c, + 0x4f, 0xfd, 0x9b, 0x04, 0x75, 0xe6, 0xda, 0x70, 0xe5, 0x7b, 0x21, 0xfd, 0x00, 0xdf, 0xde, 0x83, + 0xb2, 0x67, 0x2f, 0x69, 0xd8, 0x90, 0x0f, 0x8b, 0x47, 0x35, 0x93, 0x13, 0xe4, 0x10, 0xea, 0x73, + 0xdf, 0xf3, 0xc2, 0xae, 0xeb, 0x87, 0x74, 0xc1, 0x7c, 0x5c, 0x36, 0xd3, 0x2c, 0xf2, 0x00, 0xea, + 0x61, 0x14, 0x50, 0x7b, 0xd9, 0xf3, 0xbe, 0xf4, 0xc3, 0x46, 0xe9, 0xb0, 0x78, 0x54, 0x6f, 0xef, + 0x89, 0x9b, 0x06, 0x21, 0x72, 0xcd, 0xb4, 0x84, 0xfa, 0x67, 0x09, 0x6a, 0xc9, 0xd6, 0x1b, 0x61, + 0x92, 0xde, 0x25, 0x4c, 0xf2, 0x3b, 0x85, 0xa9, 0x98, 0x17, 0xa6, 0x7b, 0x50, 0x76, 0xfd, 0xb9, + 0xed, 0xb2, 0x7c, 0xa8, 0x9a, 0x9c, 0x50, 0x7f, 0x06, 0xca, 0x19, 0x65, 0xbe, 0x0c, 0x13, 0x17, + 0x36, 0x60, 0x67, 0xc5, 0x9c, 0x1b, 0x36, 0x24, 0xe6, 0x92, 0x98, 0x54, 0xff, 0x28, 0xc1, 0x41, + 0xd7, 0xf7, 0xbc, 0xe1, 0xe5, 0x32, 0x8a, 0x93, 0xf9, 0xe7, 0x79, 0x0e, 0xbf, 0x8b, 0x6e, 0xe8, + 0x8e, 0x47, 0xa3, 0xe1, 0xd9, 0x70, 0x9a, 0xeb, 0xf5, 0x16, 0xc0, 0x72, 0xed, 0x46, 0x0e, 0xc2, + 0x8b, 0x5d, 0x9f, 0xe2, 0xa4, 0x41, 0x14, 0xb3, 0x20, 0xfe, 0x2b, 0x83, 0xb2, 0x01, 0x21, 0x30, + 0x7f, 0x20, 0x0a, 0x0d, 0x6a, 0x18, 0x52, 0x3a, 0x8f, 0xe8, 0x82, 0x81, 0xa8, 0xb7, 0x7f, 0xcc, + 0x94, 0xb6, 0xce, 0x67, 0x0c, 0x26, 0x65, 0x78, 0x51, 0x70, 0x6d, 0x6e, 0xb4, 0xc8, 0x63, 0xa8, + 0x84, 0x91, 0x1d, 0xad, 0x39, 0xce, 0x7a, 0xfb, 0x30, 0x57, 0xdf, 0x62, 0x22, 0x5c, 0x59, 0xc8, + 0xa7, 0x4d, 0x2c, 0x65, 0x4c, 0x6c, 0x7e, 0x06, 0xfb, 0xd9, 0x0b, 0xb1, 0x01, 0xbc, 0xa0, 0xd7, + 0x22, 0x49, 0x70, 0x89, 0xf1, 0xbc, 0xb2, 0xdd, 0x35, 0x15, 0x4d, 0x81, 0x13, 0xbf, 0x90, 0x1f, + 0x4b, 0xcd, 0x21, 0xd4, 0x53, 0xd7, 0xe5, 0xa8, 0x1e, 0xa5, 0x55, 0xeb, 0x6d, 0x92, 0x46, 0xcc, + 0x35, 0x53, 0xc7, 0xa9, 0x03, 0x0e, 0x66, 0xb3, 0x89, 0xa9, 0xbb, 0x70, 0xc2, 0x8d, 0xe3, 0x24, + 0x5e, 0x97, 0x69, 0x1e, 0xb9, 0x0f, 0x95, 0x80, 0xda, 0xa1, 0xef, 0x89, 0x9c, 0x15, 0x94, 0xfa, + 0x12, 0xf6, 0x8c, 0xdf, 0x47, 0x81, 0x1d, 0xc6, 0xf9, 0xf3, 0x71, 0x5e, 0xe4, 0xee, 0x20, 0x24, + 0xe3, 0xe9, 0xd4, 0xd4, 0xac, 0xdc, 0xb8, 0x7d, 0x02, 0x7b, 0x94, 0x9d, 0x72, 0x4a, 0xed, 0x68, + 0x1d, 0x70, 0x4b, 0x44, 0x9d, 0x73, 0x35, 0xa6, 0x93, 0x15, 0x52, 0xff, 0x22, 0xc3, 0x9d, 0x8e, + 0xeb, 0xcf, 0x5f, 0x84, 0x91, 0x1f, 0xd0, 0x18, 0xc0, 0x83, 0x3c, 0x00, 0xac, 0x8e, 0x3b, 0xf9, + 0x97, 0xff, 0x14, 0x76, 0x02, 0xfa, 0xd5, 0x78, 0x15, 0xf1, 0xbc, 0x4d, 0x0b, 0x8f, 0x27, 0x53, + 0xcb, 0x8c, 0x77, 0x09, 0x81, 0xd2, 0xdc, 0x59, 0xc4, 0x09, 0xcc, 0xd6, 0xc8, 0x5b, 0xd8, 0x91, + 0xcd, 0x22, 0xbe, 0x6b, 0xb2, 0x35, 0xd6, 0xc2, 0xdc, 0x59, 0x3c, 0xa1, 0x41, 0xe8, 0xf8, 0x9e, + 0x68, 0xc5, 0x29, 0x0e, 0x69, 0x42, 0xf5, 0xb9, 0x1d, 0x3e, 0x3f, 0x5d, 0x7b, 0x73, 0xd1, 0x5c, + 0x13, 0x1a, 0xd3, 0x20, 0xa0, 0x5f, 0xf6, 0x74, 0xd6, 0x48, 0x6b, 0x26, 0x27, 0xb0, 0x7b, 0xad, + 0x02, 0xff, 0x12, 0x0b, 0xdf, 0xb9, 0xa2, 0xa2, 0x71, 0xa6, 0x59, 0x98, 0x7c, 0x01, 0x5d, 0xb9, + 0xf6, 0x9c, 0x36, 0x80, 0xbf, 0x1f, 0x82, 0x54, 0x9f, 0x03, 0x49, 0x3b, 0x49, 0x14, 0xd8, 0x7b, + 0x7b, 0xe9, 0x47, 0x50, 0xb9, 0x60, 0xc7, 0x88, 0xba, 0xaa, 0x31, 0x59, 0xe4, 0x98, 0x62, 0x43, + 0xd5, 0xa0, 0xcc, 0x18, 0x98, 0xa2, 0x73, 0x67, 0x11, 0xa7, 0xe8, 0xdc, 0x59, 0x24, 0x6e, 0xc2, + 0xb8, 0xc6, 0x6e, 0x22, 0x50, 0x0a, 0x9d, 0x97, 0xfc, 0xbd, 0x2b, 0x9a, 0x6c, 0xad, 0xfe, 0xb3, + 0x08, 0xa0, 0xdb, 0x97, 0xb7, 0xbf, 0xac, 0xba, 0x76, 0x96, 0x0b, 0x33, 0xef, 0xa2, 0x8f, 0x60, + 0xdf, 0xbf, 0xf8, 0x1d, 0x9d, 0x47, 0x86, 0x37, 0xf7, 0x17, 0x8e, 0x77, 0x29, 0x3a, 0xea, 0x16, + 0x97, 0x3c, 0x84, 0xbb, 0x21, 0x0d, 0x1c, 0xdb, 0x75, 0x5e, 0xda, 0x91, 0xe3, 0x7b, 0xa7, 0x7e, + 0xb0, 0xb4, 0x23, 0xf1, 0xe0, 0xe6, 0x6d, 0x65, 0x22, 0x59, 0xde, 0x8a, 0x64, 0x36, 0x0b, 0x2a, + 0xcc, 0xc8, 0x74, 0x16, 0x10, 0x28, 0xa1, 0xac, 0xc8, 0x00, 0xb6, 0x26, 0x0f, 0xa0, 0xec, 0x3a, + 0xde, 0x0b, 0x7c, 0x46, 0xd1, 0xc7, 0xdf, 0x63, 0x96, 0x26, 0xee, 0x38, 0x19, 0xe0, 0x1e, 0x6f, + 0x3a, 0x5c, 0x6e, 0x93, 0x2e, 0xb5, 0xb7, 0xa4, 0x0b, 0xbc, 0x35, 0x5d, 0xea, 0x99, 0x74, 0x69, + 0x3e, 0x06, 0xd8, 0x5c, 0x73, 0x5b, 0x9f, 0xaa, 0xa5, 0x1b, 0xcb, 0xdf, 0x65, 0xa8, 0x33, 0xb0, + 0xb7, 0x3e, 0xdd, 0x37, 0x05, 0xef, 0x3e, 0x54, 0xd0, 0x0d, 0xc9, 0xdb, 0x2d, 0x28, 0x86, 0xd6, + 0xfe, 0x5a, 0xc7, 0xb8, 0x16, 0x59, 0x5c, 0x63, 0x92, 0xa8, 0xb1, 0xc3, 0xf8, 0x73, 0xbd, 0x8b, + 0xa7, 0xf7, 0x26, 0x03, 0x1d, 0x4d, 0x88, 0x7d, 0xf4, 0x19, 0xd4, 0x70, 0x96, 0xc3, 0x66, 0x87, + 0x83, 0x11, 0xca, 0xb5, 0x12, 0xc7, 0x8a, 0x7e, 0x3e, 0x8a, 0x05, 0xc4, 0x7b, 0x90, 0x28, 0xa0, + 0xbd, 0x73, 0x7f, 0xed, 0x45, 0x2c, 0x82, 0x25, 0x93, 0x13, 0xcd, 0x5f, 0xc3, 0x7e, 0x56, 0x25, + 0xc7, 0x53, 0x6a, 0xb6, 0x2d, 0x27, 0xd8, 0x50, 0x29, 0xed, 0xb7, 0xbf, 0x4a, 0x50, 0x8d, 0xf9, + 0x98, 0x51, 0xde, 0x7a, 0xc9, 0x22, 0xc0, 0xce, 0x2a, 0x9a, 0x09, 0x4d, 0x7e, 0x00, 0x35, 0x56, + 0x69, 0x16, 0x56, 0x8d, 0xcc, 0x36, 0x37, 0x0c, 0xd4, 0x44, 0x7b, 0xad, 0x4d, 0x49, 0x25, 0x34, + 0x56, 0xc0, 0x7c, 0xbd, 0x5c, 0xbb, 0x76, 0xe4, 0x5c, 0x51, 0x26, 0x51, 0x62, 0x12, 0x5b, 0x5c, + 0x3c, 0x03, 0x2b, 0x86, 0x49, 0x94, 0xf9, 0x19, 0x31, 0xad, 0x9e, 0x72, 0x94, 0x08, 0x25, 0xc9, + 0x5d, 0x89, 0x57, 0x19, 0xcb, 0x5d, 0x02, 0x25, 0x1c, 0xb5, 0x44, 0x5e, 0xb0, 0x75, 0xa6, 0xc4, + 0x4b, 0xa2, 0xc4, 0x3b, 0xfc, 0x1c, 0x74, 0xdf, 0x26, 0x7c, 0xf2, 0xcd, 0xe1, 0x8b, 0x2b, 0x5a, + 0xda, 0x54, 0xb4, 0x7a, 0x05, 0x07, 0x7d, 0x7a, 0xfd, 0x8e, 0x6d, 0xbf, 0x6f, 0xdd, 0xd4, 0x29, + 0xde, 0xc0, 0xdb, 0x02, 0x58, 0x05, 0xce, 0x95, 0x1d, 0xd1, 0x3e, 0xbd, 0x16, 0xb9, 0x96, 0xe2, + 0xe0, 0xc8, 0xa7, 0x6c, 0x2e, 0xbe, 0xb5, 0x95, 0xde, 0x70, 0x73, 0xf6, 0x16, 0x79, 0xfb, 0x16, + 0x8c, 0xc2, 0x0b, 0x7a, 0x3d, 0x62, 0x43, 0x2c, 0x7f, 0x6b, 0x12, 0x1a, 0xd3, 0xec, 0xb9, 0x1d, + 0x8a, 0xa1, 0x0f, 0x97, 0xea, 0x6f, 0x61, 0x7f, 0x82, 0x2d, 0x25, 0x4c, 0x46, 0xb8, 0xf8, 0x9d, + 0x92, 0x52, 0xef, 0x54, 0xd2, 0x28, 0xe4, 0xb7, 0x34, 0x8a, 0xf2, 0x1b, 0x8d, 0x42, 0xfd, 0x9f, + 0x04, 0x07, 0xc9, 0xf1, 0xc2, 0xe0, 0x47, 0xc9, 0x88, 0x24, 0xb1, 0xb0, 0xfd, 0x90, 0x0d, 0xc9, + 0x59, 0xa1, 0xdc, 0x09, 0xe9, 0x11, 0x54, 0x68, 0x10, 0xf8, 0x41, 0x1c, 0xef, 0x5c, 0x45, 0x83, + 0x49, 0x08, 0x45, 0x2e, 0xde, 0xfc, 0xf4, 0xb6, 0x11, 0xe8, 0xe6, 0xe9, 0xe9, 0x53, 0xa8, 0xa7, + 0x4e, 0x7c, 0x9f, 0x86, 0x76, 0xfc, 0x98, 0x7f, 0xe5, 0xf1, 0x10, 0x92, 0x1a, 0x94, 0xbb, 0x83, + 0xb1, 0x65, 0x28, 0x05, 0x52, 0x87, 0x9d, 0xd3, 0xb1, 0xf9, 0x85, 0x66, 0xea, 0x8a, 0x44, 0x00, + 0x2a, 0x83, 0x9e, 0x35, 0x35, 0x46, 0x8a, 0x4c, 0x2a, 0x20, 0x0f, 0x2c, 0xa5, 0x78, 0x7c, 0x0e, + 0x07, 0x5b, 0x73, 0x2a, 0xd9, 0x07, 0xe8, 0x0e, 0x67, 0xc8, 0x35, 0xba, 0x53, 0xa5, 0x40, 0xee, + 0xc0, 0x5e, 0x77, 0x38, 0xd3, 0x7b, 0x56, 0xcc, 0x92, 0xc8, 0x1e, 0xd4, 0xba, 0xc3, 0x99, 0x35, + 0xd5, 0xa6, 0xe7, 0x96, 0x22, 0x13, 0x05, 0x76, 0xbb, 0xc3, 0xd9, 0x99, 0x31, 0x9d, 0x4d, 0x0c, + 0xc3, 0xc4, 0x63, 0x4f, 0x60, 0x2f, 0x33, 0x44, 0xa1, 0x86, 0xf1, 0x74, 0x66, 0x8c, 0xb4, 0xce, + 0x00, 0x71, 0xed, 0x03, 0x18, 0x4f, 0xf1, 0x4c, 0x46, 0x4b, 0xc7, 0xbf, 0x42, 0x3a, 0x9e, 0x9e, + 0xc8, 0x2e, 0x54, 0x7b, 0xba, 0x31, 0x9a, 0xf6, 0x4e, 0x9f, 0x29, 0x05, 0x84, 0x3d, 0x39, 0xef, + 0x58, 0xe7, 0x1d, 0x7e, 0x31, 0x03, 0xf2, 0xc4, 0x30, 0x9f, 0x29, 0x32, 0xa9, 0x42, 0x69, 0xa8, + 0x8f, 0xf0, 0xc2, 0x7f, 0x49, 0x50, 0xeb, 0xa4, 0x6f, 0xeb, 0x58, 0x33, 0xdd, 0x18, 0x18, 0x53, + 0x83, 0x9f, 0xd0, 0xb1, 0x66, 0x93, 0x73, 0x84, 0x7e, 0x00, 0x75, 0xbe, 0x9e, 0x0d, 0xb5, 0x11, + 0x9e, 0xc1, 0x37, 0xcf, 0x8c, 0xa9, 0x52, 0x14, 0x9b, 0x68, 0x08, 0xdb, 0x2c, 0x21, 0x4e, 0xc1, + 0xd0, 0x06, 0x03, 0xa5, 0x8c, 0x96, 0x0a, 0x1a, 0x8d, 0xb7, 0x94, 0x8a, 0x50, 0xff, 0x5c, 0xb3, + 0x94, 0x1d, 0xd2, 0x84, 0xfb, 0x7c, 0xfd, 0xf9, 0x6c, 0x3c, 0x9a, 0x99, 0x86, 0xa6, 0xc7, 0x16, + 0x57, 0xc9, 0xf7, 0xe1, 0xbb, 0xdb, 0x7b, 0xb1, 0xf9, 0xb5, 0xe3, 0x8f, 0x04, 0x78, 0x9c, 0xe2, + 0x30, 0x66, 0xba, 0x71, 0xaa, 0x9d, 0x0f, 0xd0, 0xf9, 0xbb, 0x50, 0xed, 0x58, 0xb3, 0xd3, 0xb1, + 0xd9, 0x45, 0x37, 0xfd, 0x01, 0x60, 0xf3, 0x22, 0x31, 0x41, 0xed, 0x8c, 0xd9, 0x55, 0x88, 0x09, + 0xb4, 0x43, 0x42, 0x98, 0x48, 0x8c, 0x8c, 0x2f, 0x66, 0xa3, 0xb1, 0x6e, 0x28, 0x32, 0x06, 0x11, + 0x39, 0x9a, 0xae, 0xcf, 0x06, 0xbd, 0x51, 0xdf, 0x52, 0x8a, 0x31, 0x0b, 0x8d, 0xe1, 0xac, 0x12, + 0xde, 0x86, 0x2c, 0xb4, 0x4d, 0x29, 0xa3, 0xf1, 0x48, 0x99, 0xc6, 0x70, 0xfc, 0xc4, 0x50, 0x2a, + 0xc7, 0x7d, 0xa8, 0x25, 0x7d, 0x02, 0xed, 0xee, 0x73, 0xbb, 0x0b, 0x62, 0xcd, 0xaf, 0xe6, 0x6b, + 0xc4, 0x24, 0x63, 0x18, 0xfa, 0x49, 0x18, 0x8a, 0x08, 0xb1, 0x6f, 0xcd, 0x30, 0x05, 0x95, 0x52, + 0xfb, 0x1f, 0x45, 0xd8, 0xc1, 0xce, 0xaa, 0x4d, 0x7a, 0xe4, 0x11, 0x54, 0xe3, 0x41, 0x9f, 0xdc, + 0xcd, 0x7e, 0xc5, 0xb0, 0x3e, 0xd1, 0xbc, 0x97, 0xf7, 0x69, 0xa3, 0x16, 0xc8, 0x11, 0x54, 0xf8, + 0x4c, 0x4f, 0xf8, 0xdc, 0x9e, 0x9e, 0xef, 0x9b, 0x6c, 0xee, 0x33, 0x96, 0xab, 0xe8, 0x9a, 0x49, + 0x16, 0x27, 0xed, 0x09, 0x49, 0xbe, 0xc7, 0x85, 0xcc, 0x41, 0x42, 0x27, 0x67, 0xfe, 0x12, 0x60, + 0x33, 0x85, 0x92, 0xef, 0x24, 0xc3, 0x63, 0xba, 0x87, 0x37, 0xef, 0x6f, 0xb3, 0x13, 0xf5, 0x33, + 0x50, 0x36, 0x7c, 0x8b, 0x7d, 0x84, 0xbf, 0xf7, 0x21, 0x47, 0xd2, 0x43, 0x09, 0x11, 0xeb, 0xf6, + 0x25, 0x47, 0xbc, 0x99, 0xac, 0x38, 0xe2, 0xd4, 0x40, 0xa0, 0x16, 0xd0, 0x7d, 0x71, 0xab, 0xe7, + 0xee, 0xdb, 0x7a, 0x71, 0xb8, 0xfb, 0xb6, 0x5f, 0x03, 0xb5, 0x40, 0x3e, 0x81, 0x1d, 0xd1, 0xd3, + 0x08, 0xc9, 0x34, 0x38, 0xae, 0x76, 0x37, 0xa7, 0xe9, 0xa9, 0x85, 0x4e, 0xe3, 0xdf, 0xaf, 0x5a, + 0xd2, 0x37, 0xaf, 0x5a, 0xd2, 0x7f, 0x5e, 0xb5, 0xa4, 0x3f, 0xbd, 0x6e, 0x15, 0xbe, 0x79, 0xdd, + 0x2a, 0x7c, 0xfb, 0xba, 0x55, 0xb8, 0xa8, 0xb0, 0x7f, 0x08, 0x1f, 0xff, 0x3f, 0x00, 0x00, 0xff, + 0xff, 0xc5, 0x09, 0xec, 0x11, 0x92, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2837,6 +2856,16 @@ func (m *BlockstoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Replace { + i-- + if m.Replace { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } if m.Progressive { i-- if m.Progressive { @@ -3016,6 +3045,16 @@ func (m *DagRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Replace { + i-- + if m.Replace { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } if m.Progressive { i-- if m.Progressive { @@ -3786,6 +3825,9 @@ func (m *BlockstoreRequest) Size() (n int) { if m.Progressive { n += 2 } + if m.Replace { + n += 2 + } return n } @@ -3874,6 +3916,9 @@ func (m *DagRequest) Size() (n int) { if m.Progressive { n += 2 } + if m.Replace { + n += 2 + } return n } @@ -5750,6 +5795,26 @@ func (m *BlockstoreRequest) Unmarshal(dAtA []byte) error { } } m.Progressive = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Replace", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Replace = bool(v != 0) default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) @@ -6426,6 +6491,26 @@ func (m *DagRequest) Unmarshal(dAtA []byte) error { } } m.Progressive = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Replace", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowNode + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Replace = bool(v != 0) default: iNdEx = preIndex skippy, err := skipNode(dAtA[iNdEx:]) diff --git a/go/pubsub.pb.go b/go/pubsub.pb.go index ea36491..18b0336 100644 --- a/go/pubsub.pb.go +++ b/go/pubsub.pb.go @@ -36,7 +36,7 @@ const ( PSREQTYPE_PS_LIST_PEERS PSREQTYPE = 1 // PS_SUBSCRIBE is used to establish a persistent subscription to a pubsub topic PSREQTYPE_PS_SUBSCRIBE PSREQTYPE = 2 - // PS_PUBLISH is used to publisbh a message to a pubsub topic + // PS_PUBLISH is used to publish a message to a pubsub topic PSREQTYPE_PS_PUBLISH PSREQTYPE = 3 ) diff --git a/go/tools/tools.go b/go/tools/tools.go index f890714..c471dc6 100644 --- a/go/tools/tools.go +++ b/go/tools/tools.go @@ -4,12 +4,12 @@ package tools import ( - _ "github.com/gogo/protobuf/protoc-gen-gogofast" - _ "github.com/gogo/protobuf/protoc-gen-gogofaster" - _ "github.com/gogo/protobuf/protoc-gen-gogoslick" _ "github.com/gogo/protobuf/gogoproto" _ "github.com/gogo/protobuf/proto" _ "github.com/gogo/protobuf/protoc-gen-gogo" + _ "github.com/gogo/protobuf/protoc-gen-gogofast" + _ "github.com/gogo/protobuf/protoc-gen-gogofaster" + _ "github.com/gogo/protobuf/protoc-gen-gogoslick" _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway" _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger" _ "github.com/mwitkow/go-proto-validators/protoc-gen-govalidators" diff --git a/js/file_pb.js b/js/file_pb.js index 063d88e..e7abcce 100644 --- a/js/file_pb.js +++ b/js/file_pb.js @@ -273,7 +273,8 @@ proto.pb.UploadOptions.toObject = function(includeInstance, msg) { layout: jspb.Message.getFieldWithDefault(msg, 2, ""), chunker: jspb.Message.getFieldWithDefault(msg, 3, ""), refid: jspb.Message.getFieldWithDefault(msg, 4, ""), - progressive: jspb.Message.getFieldWithDefault(msg, 5, false) + progressive: jspb.Message.getFieldWithDefault(msg, 5, false), + replace: jspb.Message.getFieldWithDefault(msg, 6, false) }; if (includeInstance) { @@ -330,6 +331,10 @@ proto.pb.UploadOptions.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {boolean} */ (reader.readBool()); msg.setProgressive(value); break; + case 6: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setReplace(value); + break; default: reader.skipField(); break; @@ -394,6 +399,13 @@ proto.pb.UploadOptions.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getReplace(); + if (f) { + writer.writeBool( + 6, + f + ); + } }; @@ -474,6 +486,23 @@ proto.pb.UploadOptions.prototype.setProgressive = function(value) { }; +/** + * optional bool replace = 6; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pb.UploadOptions.prototype.getReplace = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 6, false)); +}; + + +/** @param {boolean} value */ +proto.pb.UploadOptions.prototype.setReplace = function(value) { + jspb.Message.setProto3BooleanField(this, 6, value); +}; + + /** * Generated by JsPbCodeGenerator. diff --git a/js/node_pb.js b/js/node_pb.js index 25c9db8..8c2628a 100644 --- a/js/node_pb.js +++ b/js/node_pb.js @@ -1937,7 +1937,8 @@ proto.pb.BlockstoreRequest.toObject = function(includeInstance, msg) { cidversion: jspb.Message.getFieldWithDefault(msg, 5, ""), hashfunc: jspb.Message.getFieldWithDefault(msg, 7, ""), refid: jspb.Message.getFieldWithDefault(msg, 8, ""), - progressive: jspb.Message.getFieldWithDefault(msg, 9, false) + progressive: jspb.Message.getFieldWithDefault(msg, 9, false), + replace: jspb.Message.getFieldWithDefault(msg, 10, false) }; if (includeInstance) { @@ -2006,6 +2007,10 @@ proto.pb.BlockstoreRequest.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {boolean} */ (reader.readBool()); msg.setProgressive(value); break; + case 10: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setReplace(value); + break; default: reader.skipField(); break; @@ -2091,6 +2096,13 @@ proto.pb.BlockstoreRequest.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getReplace(); + if (f) { + writer.writeBool( + 10, + f + ); + } }; @@ -2282,6 +2294,23 @@ proto.pb.BlockstoreRequest.prototype.setProgressive = function(value) { }; +/** + * optional bool replace = 10; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pb.BlockstoreRequest.prototype.getReplace = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 10, false)); +}; + + +/** @param {boolean} value */ +proto.pb.BlockstoreRequest.prototype.setReplace = function(value) { + jspb.Message.setProto3BooleanField(this, 10, value); +}; + + /** * Generated by JsPbCodeGenerator. @@ -2753,7 +2782,8 @@ proto.pb.DagRequest.toObject = function(includeInstance, msg) { hash: jspb.Message.getFieldWithDefault(msg, 7, ""), linksMap: (f = msg.getLinksMap()) ? f.toObject(includeInstance, undefined) : [], refid: jspb.Message.getFieldWithDefault(msg, 9, ""), - progressive: jspb.Message.getFieldWithDefault(msg, 10, false) + progressive: jspb.Message.getFieldWithDefault(msg, 10, false), + replace: jspb.Message.getFieldWithDefault(msg, 11, false) }; if (includeInstance) { @@ -2832,6 +2862,10 @@ proto.pb.DagRequest.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {boolean} */ (reader.readBool()); msg.setProgressive(value); break; + case 11: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setReplace(value); + break; default: reader.skipField(); break; @@ -2928,6 +2962,13 @@ proto.pb.DagRequest.serializeBinaryToWriter = function(message, writer) { f ); } + f = message.getReplace(); + if (f) { + writer.writeBool( + 11, + f + ); + } }; @@ -3110,6 +3151,23 @@ proto.pb.DagRequest.prototype.setProgressive = function(value) { }; +/** + * optional bool replace = 11; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pb.DagRequest.prototype.getReplace = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 11, false)); +}; + + +/** @param {boolean} value */ +proto.pb.DagRequest.prototype.setReplace = function(value) { + jspb.Message.setProto3BooleanField(this, 11, value); +}; + + /** * Generated by JsPbCodeGenerator. diff --git a/pb/file.proto b/pb/file.proto index 41bf9ab..2b2ce50 100644 --- a/pb/file.proto +++ b/pb/file.proto @@ -33,6 +33,8 @@ message UploadOptions { string refID = 4; // if refID is set, allows progressive upload bool progressive = 5; + // if refID is set, remove the any existing uploads with same refID + bool replace = 6; } // DownloadRequest is used to download a UnixFS object diff --git a/pb/node.proto b/pb/node.proto index 088e161..49b7ee3 100644 --- a/pb/node.proto +++ b/pb/node.proto @@ -215,6 +215,8 @@ message BlockstoreRequest { string refID = 8; // if refID is set, allows progressive upload bool progressive = 9; + // if refID is set, remove the any existing blocks with same refID + bool replace = 10; } // BlockstoreResponse is a response to a BlockstoreRequest @@ -293,6 +295,8 @@ message DagRequest { string refID = 9; // if refID is set, allows progressive upload bool progressive = 10; + // if refID is set, remove the any existing DAGs with same refID + bool replace = 11; } // Used in response to a Dag or DagStream RPC diff --git a/pb/pubsub.proto b/pb/pubsub.proto index cdc405a..e6aadcd 100644 --- a/pb/pubsub.proto +++ b/pb/pubsub.proto @@ -17,7 +17,7 @@ enum PSREQTYPE { PS_LIST_PEERS = 1; // PS_SUBSCRIBE is used to establish a persistent subscription to a pubsub topic PS_SUBSCRIBE = 2; - // PS_PUBLISH is used to publisbh a message to a pubsub topic + // PS_PUBLISH is used to publish a message to a pubsub topic PS_PUBLISH = 3; } diff --git a/py/file_pb2.py b/py/file_pb2.py index 0e0aba4..4e01649 100644 --- a/py/file_pb2.py +++ b/py/file_pb2.py @@ -19,7 +19,7 @@ package='pb', syntax='proto3', serialized_options=None, - serialized_pb=b'\n\nfile.proto\x12\x02pb\x1a\nutil.proto\"K\n\rUploadRequest\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\x12\"\n\x07options\x18\x02 \x01(\x0b\x32\x11.pb.UploadOptions\"g\n\rUploadOptions\x12\x11\n\tmultiHash\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x0f\n\x07\x63hunker\x18\x03 \x01(\t\x12\r\n\x05refID\x18\x04 \x01(\t\x12\x13\n\x0bprogressive\x18\x05 \x01(\x08\"X\n\x0f\x44ownloadRequest\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x11\n\tchunkSize\x18\x02 \x01(\x05\x12\x12\n\nrangeStart\x18\x03 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x04 \x01(\x04\"*\n\x10\x44ownloadResponse\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\"=\n\x04\x42lob\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\x0c\x12\x12\n\nrangeStart\x18\x02 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x03 \x01(\x04\"m\n\rRemoveRequest\x12-\n\x06refIDs\x18\x01 \x03(\x0b\x32\x1d.pb.RemoveRequest.RefIDsEntry\x1a-\n\x0bRefIDsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1f\n\x0eRemoveResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x32\xb5\x01\n\x07\x46ileAPI\x12\x34\n\nUploadFile\x12\x11.pb.UploadRequest\x1a\x0f.pb.PutResponse\"\x00(\x01\x12=\n\x0c\x44ownloadFile\x12\x13.pb.DownloadRequest\x1a\x14.pb.DownloadResponse\"\x00\x30\x01\x12\x35\n\nRemoveFile\x12\x11.pb.RemoveRequest\x1a\x12.pb.RemoveResponse\"\x00\x62\x06proto3' + serialized_pb=b'\n\nfile.proto\x12\x02pb\x1a\nutil.proto\"K\n\rUploadRequest\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\x12\"\n\x07options\x18\x02 \x01(\x0b\x32\x11.pb.UploadOptions\"x\n\rUploadOptions\x12\x11\n\tmultiHash\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x0f\n\x07\x63hunker\x18\x03 \x01(\t\x12\r\n\x05refID\x18\x04 \x01(\t\x12\x13\n\x0bprogressive\x18\x05 \x01(\x08\x12\x0f\n\x07replace\x18\x06 \x01(\x08\"X\n\x0f\x44ownloadRequest\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x11\n\tchunkSize\x18\x02 \x01(\x05\x12\x12\n\nrangeStart\x18\x03 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x04 \x01(\x04\"*\n\x10\x44ownloadResponse\x12\x16\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x08.pb.Blob\"=\n\x04\x42lob\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\x0c\x12\x12\n\nrangeStart\x18\x02 \x01(\x04\x12\x10\n\x08rangeEnd\x18\x03 \x01(\x04\"m\n\rRemoveRequest\x12-\n\x06refIDs\x18\x01 \x03(\x0b\x32\x1d.pb.RemoveRequest.RefIDsEntry\x1a-\n\x0bRefIDsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1f\n\x0eRemoveResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\x32\xb5\x01\n\x07\x46ileAPI\x12\x34\n\nUploadFile\x12\x11.pb.UploadRequest\x1a\x0f.pb.PutResponse\"\x00(\x01\x12=\n\x0c\x44ownloadFile\x12\x13.pb.DownloadRequest\x1a\x14.pb.DownloadResponse\"\x00\x30\x01\x12\x35\n\nRemoveFile\x12\x11.pb.RemoveRequest\x1a\x12.pb.RemoveResponse\"\x00\x62\x06proto3' , dependencies=[util__pb2.DESCRIPTOR,]) @@ -106,6 +106,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='replace', full_name='pb.UploadOptions.replace', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -119,7 +126,7 @@ oneofs=[ ], serialized_start=107, - serialized_end=210, + serialized_end=227, ) @@ -170,8 +177,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=212, - serialized_end=300, + serialized_start=229, + serialized_end=317, ) @@ -201,8 +208,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=302, - serialized_end=344, + serialized_start=319, + serialized_end=361, ) @@ -246,8 +253,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=346, - serialized_end=407, + serialized_start=363, + serialized_end=424, ) @@ -284,8 +291,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=473, - serialized_end=518, + serialized_start=490, + serialized_end=535, ) _REMOVEREQUEST = _descriptor.Descriptor( @@ -314,8 +321,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=409, - serialized_end=518, + serialized_start=426, + serialized_end=535, ) @@ -345,8 +352,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=520, - serialized_end=551, + serialized_start=537, + serialized_end=568, ) _UPLOADREQUEST.fields_by_name['blob'].message_type = _BLOB @@ -429,8 +436,8 @@ file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=554, - serialized_end=735, + serialized_start=571, + serialized_end=752, methods=[ _descriptor.MethodDescriptor( name='UploadFile', diff --git a/py/node_pb2.py b/py/node_pb2.py index 184a296..e2d2903 100644 --- a/py/node_pb2.py +++ b/py/node_pb2.py @@ -20,7 +20,7 @@ package='pb', syntax='proto3', serialized_options=None, - serialized_pb=b'\n\nnode.proto\x12\x02pb\x1a\nutil.proto\"\xde\x01\n\nP2PRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\x0b\n\x03\x61ll\x18\x02 \x01(\x08\x12\x0f\n\x07verbose\x18\x03 \x01(\x08\x12\x14\n\x0cprotocolName\x18\x04 \x01(\t\x12\x15\n\rlistenAddress\x18\x05 \x01(\t\x12\x15\n\rtargetAddress\x18\x06 \x01(\t\x12\x15\n\rremoteAddress\x18\x07 \x01(\t\x12\x1c\n\x14\x61llowCustomProtocols\x18\x08 \x01(\x08\x12\x14\n\x0creportPeerID\x18\t \x01(\x08\"z\n\x0bP2PResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\r\n\x05names\x18\x02 \x03(\t\x12\x13\n\x0b\x63onnsClosed\x18\x03 \x01(\x05\x12\"\n\x0bstreamInfos\x18\x04 \x03(\x0b\x32\r.pb.P2PLsInfo\"^\n\tP2PLsInfo\x12\x14\n\x0cprotocolName\x18\x01 \x01(\t\x12\x15\n\rlistenAddress\x18\x02 \x01(\t\x12\x15\n\rtargetAddress\x18\x03 \x01(\t\x12\r\n\x05local\x18\x04 \x01(\x08\"#\n\x10GetPeersResponse\x12\x0f\n\x07peerIDs\x18\x01 \x03(\t\"`\n\x0f\x43onnMgmtRequest\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x12\n\nmultiAddrs\x18\x02 \x03(\t\x12\x0f\n\x07peerIDs\x18\x03 \x03(\t\"\xac\x02\n\x10\x43onnMgmtResponse\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x36\n\tconnected\x18\x02 \x03(\x0b\x32#.pb.ConnMgmtResponse.ConnectedEntry\x12\x30\n\x06status\x18\x03 \x03(\x0b\x32 .pb.ConnMgmtResponse.StatusEntry\x12\x0f\n\x07peerIDs\x18\x04 \x03(\t\x1a\x30\n\x0e\x43onnectedEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x41\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.pb.ConnMgmtStatus:\x02\x38\x01\"6\n\x0e\x43onnMgmtStatus\x12\x14\n\x0c\x64isconnected\x18\x01 \x01(\x08\x12\x0e\n\x06reason\x18\x02 \x01(\t\"^\n\rExtrasRequest\x12&\n\x0brequestType\x18\x01 \x01(\x0e\x32\x11.pb.EXTRASREQTYPE\x12%\n\rextrasFeature\x18\x02 \x01(\x0e\x32\x0e.pb.EXTRASTYPE\"\xbd\x01\n\x11\x42lockstoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x1e\n\x07reqOpts\x18\x02 \x03(\x0e\x32\r.pb.BSREQOPTS\x12\x0c\n\x04\x63ids\x18\x03 \x03(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x03(\x0c\x12\x12\n\ncidVersion\x18\x05 \x01(\t\x12\x10\n\x08hashFunc\x18\x07 \x01(\t\x12\r\n\x05refID\x18\x08 \x01(\t\x12\x13\n\x0bprogressive\x18\t \x01(\x08\"S\n\x12\x42lockstoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x19\n\x06\x62locks\x18\x02 \x03(\x0b\x32\t.pb.Block\"0\n\x05\x42lock\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0c\n\x04size\x18\x03 \x01(\x03\"\xa4\x02\n\nDagRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x16\n\x0eobjectEncoding\x18\x03 \x01(\t\x12\x1b\n\x13serializationFormat\x18\x04 \x01(\t\x12\x10\n\x08hashFunc\x18\x05 \x01(\t\x12\x12\n\ncidVersion\x18\x06 \x01(\x03\x12\x0c\n\x04hash\x18\x07 \x01(\t\x12(\n\x05links\x18\x08 \x03(\x0b\x32\x19.pb.DagRequest.LinksEntry\x12\r\n\x05refID\x18\t \x01(\t\x12\x13\n\x0bprogressive\x18\n \x01(\x08\x1a,\n\nLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf2\x01\n\x0b\x44\x61gResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0e\n\x06hashes\x18\x02 \x03(\t\x12\x0f\n\x07rawData\x18\x03 \x01(\x0c\x12\x1b\n\x05links\x18\x04 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x31\n\tnodeStats\x18\x05 \x03(\x0b\x32\x1e.pb.DagResponse.NodeStatsEntry\x12\r\n\x05\x63ount\x18\x06 \x01(\x04\x1a>\n\x0eNodeStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.pb.IPLDStat:\x02\x38\x01\"k\n\x08IPLDStat\x12\x10\n\x08numLinks\x18\x01 \x01(\x03\x12\x11\n\tblockSize\x18\x02 \x01(\x03\x12\x10\n\x08linkSize\x18\x03 \x01(\x03\x12\x16\n\x0e\x63umulativeSize\x18\x04 \x01(\x03\x12\x10\n\x08\x64\x61taSize\x18\x05 \x01(\x03\"4\n\x08IPLDLink\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x08IPLDNode\x12\x1b\n\x05links\x18\x02 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"W\n\x0fKeystoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nprivateKey\x18\x03 \x01(\x0c\"i\n\x10KeystoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x12\n\nprivateKey\x18\x02 \x01(\x0c\x12\x10\n\x08keyNames\x18\x03 \x03(\t\x12\x0b\n\x03has\x18\x04 \x01(\x08\"B\n\x0ePersistRequest\x12\x0c\n\x04\x63ids\x18\x01 \x03(\t\x12\r\n\x05refID\x18\x02 \x01(\t\x12\x13\n\x0bprogressive\x18\x05 \x01(\x08\"\xd1\x01\n\x0fPersistResponse\x12/\n\x06status\x18\x01 \x03(\x0b\x32\x1f.pb.PersistResponse.StatusEntry\x12/\n\x06\x65rrors\x18\x02 \x03(\x0b\x32\x1f.pb.PersistResponse.ErrorsEntry\x1a-\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*8\n\nP2PREQTYPE\x12\t\n\x05\x43LOSE\x10\x00\x12\x0b\n\x07\x46ORWARD\x10\x01\x12\n\n\x06LISTEN\x10\x02\x12\x06\n\x02LS\x10\x03*U\n\x0f\x43ONNMGMTREQTYPE\x12\x0e\n\nCM_CONNECT\x10\x00\x12\x11\n\rCM_DISCONNECT\x10\x01\x12\r\n\tCM_STATUS\x10\x02\x12\x10\n\x0c\x43M_GET_PEERS\x10\x03*.\n\rEXTRASREQTYPE\x12\r\n\tEX_ENABLE\x10\x00\x12\x0e\n\nEX_DISABLE\x10\x01*?\n\nEXTRASTYPE\x12\x0c\n\x08IDENTIFY\x10\x00\x12\n\n\x06PUBSUB\x10\x01\x12\r\n\tDISCOVERY\x10\x02\x12\x08\n\x04MDNS\x10\x03*\xbb\x01\n\tBSREQTYPE\x12\r\n\tBS_DELETE\x10\x00\x12\n\n\x06\x42S_PUT\x10\x01\x12\x0f\n\x0b\x42S_PUT_MANY\x10\x02\x12\n\n\x06\x42S_GET\x10\x03\x12\x0f\n\x0b\x42S_GET_MANY\x10\x04\x12\x0e\n\nBS_GET_ALL\x10\x05\x12\x10\n\x0c\x42S_GET_STATS\x10\x06\x12\n\n\x06\x42S_HAS\x10\x07\x12\x1a\n\x16\x42S_HASH_ON_READ_ENABLE\x10\x08\x12\x1b\n\x17\x42S_HASH_ON_READ_DISABLE\x10\t*&\n\tBSREQOPTS\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08\x42S_FORCE\x10\x01*|\n\nDAGREQTYPE\x12\x0b\n\x07\x44\x41G_PUT\x10\x00\x12\x0b\n\x07\x44\x41G_GET\x10\x01\x12\x10\n\x0c\x44\x41G_NEW_NODE\x10\x02\x12\x11\n\rDAG_ADD_LINKS\x10\x03\x12\x11\n\rDAG_GET_LINKS\x10\x04\x12\x0c\n\x08\x44\x41G_STAT\x10\x05\x12\x0e\n\nDAG_REMOVE\x10\x06*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\x10\x00\x12\n\n\x06KS_GET\x10\x01\x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_DELETE\x10\x03\x12\x0b\n\x07KS_LIST\x10\x04\x32\xb7\x03\n\x07NodeAPI\x12\x37\n\x08\x43onnMgmt\x12\x13.pb.ConnMgmtRequest\x1a\x14.pb.ConnMgmtResponse\"\x00\x12(\n\x06\x45xtras\x12\x11.pb.ExtrasRequest\x1a\t.pb.Empty\"\x00\x12(\n\x03P2P\x12\x0e.pb.P2PRequest\x1a\x0f.pb.P2PResponse\"\x00\x12=\n\nBlockstore\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00\x12G\n\x10\x42lockstoreStream\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00(\x01\x30\x01\x12(\n\x03\x44\x61g\x12\x0e.pb.DagRequest\x1a\x0f.pb.DagResponse\"\x00\x12\x37\n\x08Keystore\x12\x13.pb.KeystoreRequest\x1a\x14.pb.KeystoreResponse\"\x00\x12\x34\n\x07Persist\x12\x12.pb.PersistRequest\x1a\x13.pb.PersistResponse\"\x00\x62\x06proto3' + serialized_pb=b'\n\nnode.proto\x12\x02pb\x1a\nutil.proto\"\xde\x01\n\nP2PRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\x0b\n\x03\x61ll\x18\x02 \x01(\x08\x12\x0f\n\x07verbose\x18\x03 \x01(\x08\x12\x14\n\x0cprotocolName\x18\x04 \x01(\t\x12\x15\n\rlistenAddress\x18\x05 \x01(\t\x12\x15\n\rtargetAddress\x18\x06 \x01(\t\x12\x15\n\rremoteAddress\x18\x07 \x01(\t\x12\x1c\n\x14\x61llowCustomProtocols\x18\x08 \x01(\x08\x12\x14\n\x0creportPeerID\x18\t \x01(\x08\"z\n\x0bP2PResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.P2PREQTYPE\x12\r\n\x05names\x18\x02 \x03(\t\x12\x13\n\x0b\x63onnsClosed\x18\x03 \x01(\x05\x12\"\n\x0bstreamInfos\x18\x04 \x03(\x0b\x32\r.pb.P2PLsInfo\"^\n\tP2PLsInfo\x12\x14\n\x0cprotocolName\x18\x01 \x01(\t\x12\x15\n\rlistenAddress\x18\x02 \x01(\t\x12\x15\n\rtargetAddress\x18\x03 \x01(\t\x12\r\n\x05local\x18\x04 \x01(\x08\"#\n\x10GetPeersResponse\x12\x0f\n\x07peerIDs\x18\x01 \x03(\t\"`\n\x0f\x43onnMgmtRequest\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x12\n\nmultiAddrs\x18\x02 \x03(\t\x12\x0f\n\x07peerIDs\x18\x03 \x03(\t\"\xac\x02\n\x10\x43onnMgmtResponse\x12(\n\x0brequestType\x18\x01 \x01(\x0e\x32\x13.pb.CONNMGMTREQTYPE\x12\x36\n\tconnected\x18\x02 \x03(\x0b\x32#.pb.ConnMgmtResponse.ConnectedEntry\x12\x30\n\x06status\x18\x03 \x03(\x0b\x32 .pb.ConnMgmtResponse.StatusEntry\x12\x0f\n\x07peerIDs\x18\x04 \x03(\t\x1a\x30\n\x0e\x43onnectedEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x41\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.pb.ConnMgmtStatus:\x02\x38\x01\"6\n\x0e\x43onnMgmtStatus\x12\x14\n\x0c\x64isconnected\x18\x01 \x01(\x08\x12\x0e\n\x06reason\x18\x02 \x01(\t\"^\n\rExtrasRequest\x12&\n\x0brequestType\x18\x01 \x01(\x0e\x32\x11.pb.EXTRASREQTYPE\x12%\n\rextrasFeature\x18\x02 \x01(\x0e\x32\x0e.pb.EXTRASTYPE\"\xce\x01\n\x11\x42lockstoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x1e\n\x07reqOpts\x18\x02 \x03(\x0e\x32\r.pb.BSREQOPTS\x12\x0c\n\x04\x63ids\x18\x03 \x03(\t\x12\x0c\n\x04\x64\x61ta\x18\x04 \x03(\x0c\x12\x12\n\ncidVersion\x18\x05 \x01(\t\x12\x10\n\x08hashFunc\x18\x07 \x01(\t\x12\r\n\x05refID\x18\x08 \x01(\t\x12\x13\n\x0bprogressive\x18\t \x01(\x08\x12\x0f\n\x07replace\x18\n \x01(\x08\"S\n\x12\x42lockstoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.BSREQTYPE\x12\x19\n\x06\x62locks\x18\x02 \x03(\x0b\x32\t.pb.Block\"0\n\x05\x42lock\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0c\n\x04size\x18\x03 \x01(\x03\"\xb5\x02\n\nDagRequest\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x16\n\x0eobjectEncoding\x18\x03 \x01(\t\x12\x1b\n\x13serializationFormat\x18\x04 \x01(\t\x12\x10\n\x08hashFunc\x18\x05 \x01(\t\x12\x12\n\ncidVersion\x18\x06 \x01(\x03\x12\x0c\n\x04hash\x18\x07 \x01(\t\x12(\n\x05links\x18\x08 \x03(\x0b\x32\x19.pb.DagRequest.LinksEntry\x12\r\n\x05refID\x18\t \x01(\t\x12\x13\n\x0bprogressive\x18\n \x01(\x08\x12\x0f\n\x07replace\x18\x0b \x01(\x08\x1a,\n\nLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf2\x01\n\x0b\x44\x61gResponse\x12#\n\x0brequestType\x18\x01 \x01(\x0e\x32\x0e.pb.DAGREQTYPE\x12\x0e\n\x06hashes\x18\x02 \x03(\t\x12\x0f\n\x07rawData\x18\x03 \x01(\x0c\x12\x1b\n\x05links\x18\x04 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x31\n\tnodeStats\x18\x05 \x03(\x0b\x32\x1e.pb.DagResponse.NodeStatsEntry\x12\r\n\x05\x63ount\x18\x06 \x01(\x04\x1a>\n\x0eNodeStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.pb.IPLDStat:\x02\x38\x01\"k\n\x08IPLDStat\x12\x10\n\x08numLinks\x18\x01 \x01(\x03\x12\x11\n\tblockSize\x18\x02 \x01(\x03\x12\x10\n\x08linkSize\x18\x03 \x01(\x03\x12\x16\n\x0e\x63umulativeSize\x18\x04 \x01(\x03\x12\x10\n\x08\x64\x61taSize\x18\x05 \x01(\x03\"4\n\x08IPLDLink\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04size\x18\x03 \x01(\x04\"5\n\x08IPLDNode\x12\x1b\n\x05links\x18\x02 \x03(\x0b\x32\x0c.pb.IPLDLink\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"W\n\x0fKeystoreRequest\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nprivateKey\x18\x03 \x01(\x0c\"i\n\x10KeystoreResponse\x12\"\n\x0brequestType\x18\x01 \x01(\x0e\x32\r.pb.KSREQTYPE\x12\x12\n\nprivateKey\x18\x02 \x01(\x0c\x12\x10\n\x08keyNames\x18\x03 \x03(\t\x12\x0b\n\x03has\x18\x04 \x01(\x08\"B\n\x0ePersistRequest\x12\x0c\n\x04\x63ids\x18\x01 \x03(\t\x12\r\n\x05refID\x18\x02 \x01(\t\x12\x13\n\x0bprogressive\x18\x05 \x01(\x08\"\xd1\x01\n\x0fPersistResponse\x12/\n\x06status\x18\x01 \x03(\x0b\x32\x1f.pb.PersistResponse.StatusEntry\x12/\n\x06\x65rrors\x18\x02 \x03(\x0b\x32\x1f.pb.PersistResponse.ErrorsEntry\x1a-\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a-\n\x0b\x45rrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*8\n\nP2PREQTYPE\x12\t\n\x05\x43LOSE\x10\x00\x12\x0b\n\x07\x46ORWARD\x10\x01\x12\n\n\x06LISTEN\x10\x02\x12\x06\n\x02LS\x10\x03*U\n\x0f\x43ONNMGMTREQTYPE\x12\x0e\n\nCM_CONNECT\x10\x00\x12\x11\n\rCM_DISCONNECT\x10\x01\x12\r\n\tCM_STATUS\x10\x02\x12\x10\n\x0c\x43M_GET_PEERS\x10\x03*.\n\rEXTRASREQTYPE\x12\r\n\tEX_ENABLE\x10\x00\x12\x0e\n\nEX_DISABLE\x10\x01*?\n\nEXTRASTYPE\x12\x0c\n\x08IDENTIFY\x10\x00\x12\n\n\x06PUBSUB\x10\x01\x12\r\n\tDISCOVERY\x10\x02\x12\x08\n\x04MDNS\x10\x03*\xbb\x01\n\tBSREQTYPE\x12\r\n\tBS_DELETE\x10\x00\x12\n\n\x06\x42S_PUT\x10\x01\x12\x0f\n\x0b\x42S_PUT_MANY\x10\x02\x12\n\n\x06\x42S_GET\x10\x03\x12\x0f\n\x0b\x42S_GET_MANY\x10\x04\x12\x0e\n\nBS_GET_ALL\x10\x05\x12\x10\n\x0c\x42S_GET_STATS\x10\x06\x12\n\n\x06\x42S_HAS\x10\x07\x12\x1a\n\x16\x42S_HASH_ON_READ_ENABLE\x10\x08\x12\x1b\n\x17\x42S_HASH_ON_READ_DISABLE\x10\t*&\n\tBSREQOPTS\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08\x42S_FORCE\x10\x01*|\n\nDAGREQTYPE\x12\x0b\n\x07\x44\x41G_PUT\x10\x00\x12\x0b\n\x07\x44\x41G_GET\x10\x01\x12\x10\n\x0c\x44\x41G_NEW_NODE\x10\x02\x12\x11\n\rDAG_ADD_LINKS\x10\x03\x12\x11\n\rDAG_GET_LINKS\x10\x04\x12\x0c\n\x08\x44\x41G_STAT\x10\x05\x12\x0e\n\nDAG_REMOVE\x10\x06*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\x10\x00\x12\n\n\x06KS_GET\x10\x01\x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_DELETE\x10\x03\x12\x0b\n\x07KS_LIST\x10\x04\x32\xb7\x03\n\x07NodeAPI\x12\x37\n\x08\x43onnMgmt\x12\x13.pb.ConnMgmtRequest\x1a\x14.pb.ConnMgmtResponse\"\x00\x12(\n\x06\x45xtras\x12\x11.pb.ExtrasRequest\x1a\t.pb.Empty\"\x00\x12(\n\x03P2P\x12\x0e.pb.P2PRequest\x1a\x0f.pb.P2PResponse\"\x00\x12=\n\nBlockstore\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00\x12G\n\x10\x42lockstoreStream\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\x00(\x01\x30\x01\x12(\n\x03\x44\x61g\x12\x0e.pb.DagRequest\x1a\x0f.pb.DagResponse\"\x00\x12\x37\n\x08Keystore\x12\x13.pb.KeystoreRequest\x1a\x14.pb.KeystoreResponse\"\x00\x12\x34\n\x07Persist\x12\x12.pb.PersistRequest\x1a\x13.pb.PersistResponse\"\x00\x62\x06proto3' , dependencies=[util__pb2.DESCRIPTOR,]) @@ -49,8 +49,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2626, - serialized_end=2682, + serialized_start=2660, + serialized_end=2716, ) _sym_db.RegisterEnumDescriptor(_P2PREQTYPE) @@ -80,8 +80,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2684, - serialized_end=2769, + serialized_start=2718, + serialized_end=2803, ) _sym_db.RegisterEnumDescriptor(_CONNMGMTREQTYPE) @@ -103,8 +103,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2771, - serialized_end=2817, + serialized_start=2805, + serialized_end=2851, ) _sym_db.RegisterEnumDescriptor(_EXTRASREQTYPE) @@ -134,8 +134,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2819, - serialized_end=2882, + serialized_start=2853, + serialized_end=2916, ) _sym_db.RegisterEnumDescriptor(_EXTRASTYPE) @@ -189,8 +189,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2885, - serialized_end=3072, + serialized_start=2919, + serialized_end=3106, ) _sym_db.RegisterEnumDescriptor(_BSREQTYPE) @@ -212,8 +212,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3074, - serialized_end=3112, + serialized_start=3108, + serialized_end=3146, ) _sym_db.RegisterEnumDescriptor(_BSREQOPTS) @@ -255,8 +255,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3114, - serialized_end=3238, + serialized_start=3148, + serialized_end=3272, ) _sym_db.RegisterEnumDescriptor(_DAGREQTYPE) @@ -290,8 +290,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3240, - serialized_end=3315, + serialized_start=3274, + serialized_end=3349, ) _sym_db.RegisterEnumDescriptor(_KSREQTYPE) @@ -869,6 +869,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='replace', full_name='pb.BlockstoreRequest.replace', index=8, + number=10, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -882,7 +889,7 @@ oneofs=[ ], serialized_start=1066, - serialized_end=1255, + serialized_end=1272, ) @@ -919,8 +926,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1257, - serialized_end=1340, + serialized_start=1274, + serialized_end=1357, ) @@ -964,8 +971,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1342, - serialized_end=1390, + serialized_start=1359, + serialized_end=1407, ) @@ -1002,8 +1009,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1641, - serialized_end=1685, + serialized_start=1675, + serialized_end=1719, ) _DAGREQUEST = _descriptor.Descriptor( @@ -1083,6 +1090,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='replace', full_name='pb.DagRequest.replace', index=10, + number=11, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1095,8 +1109,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1393, - serialized_end=1685, + serialized_start=1410, + serialized_end=1719, ) @@ -1133,8 +1147,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1868, - serialized_end=1930, + serialized_start=1902, + serialized_end=1964, ) _DAGRESPONSE = _descriptor.Descriptor( @@ -1198,8 +1212,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1688, - serialized_end=1930, + serialized_start=1722, + serialized_end=1964, ) @@ -1257,8 +1271,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1932, - serialized_end=2039, + serialized_start=1966, + serialized_end=2073, ) @@ -1302,8 +1316,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2041, - serialized_end=2093, + serialized_start=2075, + serialized_end=2127, ) @@ -1340,8 +1354,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2095, - serialized_end=2148, + serialized_start=2129, + serialized_end=2182, ) @@ -1385,8 +1399,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2150, - serialized_end=2237, + serialized_start=2184, + serialized_end=2271, ) @@ -1437,8 +1451,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2239, - serialized_end=2344, + serialized_start=2273, + serialized_end=2378, ) @@ -1482,8 +1496,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2346, - serialized_end=2412, + serialized_start=2380, + serialized_end=2446, ) @@ -1520,8 +1534,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2532, - serialized_end=2577, + serialized_start=2566, + serialized_end=2611, ) _PERSISTRESPONSE_ERRORSENTRY = _descriptor.Descriptor( @@ -1557,8 +1571,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2579, - serialized_end=2624, + serialized_start=2613, + serialized_end=2658, ) _PERSISTRESPONSE = _descriptor.Descriptor( @@ -1594,8 +1608,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2415, - serialized_end=2624, + serialized_start=2449, + serialized_end=2658, ) _P2PREQUEST.fields_by_name['requestType'].enum_type = _P2PREQTYPE @@ -1861,8 +1875,8 @@ file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=3318, - serialized_end=3757, + serialized_start=3352, + serialized_end=3791, methods=[ _descriptor.MethodDescriptor( name='ConnMgmt', diff --git a/rs/src/file.rs b/rs/src/file.rs index 2a2ac59..2af2efd 100644 --- a/rs/src/file.rs +++ b/rs/src/file.rs @@ -262,6 +262,7 @@ pub struct UploadOptions { pub chunker: ::std::string::String, pub refID: ::std::string::String, pub progressive: bool, + pub replace: bool, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -396,6 +397,21 @@ impl UploadOptions { pub fn set_progressive(&mut self, v: bool) { self.progressive = v; } + + // bool replace = 6; + + + pub fn get_replace(&self) -> bool { + self.replace + } + pub fn clear_replace(&mut self) { + self.replace = false; + } + + // Param is passed by value, moved + pub fn set_replace(&mut self, v: bool) { + self.replace = v; + } } impl ::protobuf::Message for UploadOptions { @@ -426,6 +442,13 @@ impl ::protobuf::Message for UploadOptions { let tmp = is.read_bool()?; self.progressive = tmp; }, + 6 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.replace = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -453,6 +476,9 @@ impl ::protobuf::Message for UploadOptions { if self.progressive != false { my_size += 2; } + if self.replace != false { + my_size += 2; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -474,6 +500,9 @@ impl ::protobuf::Message for UploadOptions { if self.progressive != false { os.write_bool(5, self.progressive)?; } + if self.replace != false { + os.write_bool(6, self.replace)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -537,6 +566,11 @@ impl ::protobuf::Message for UploadOptions { |m: &UploadOptions| { &m.progressive }, |m: &mut UploadOptions| { &mut m.progressive }, )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "replace", + |m: &UploadOptions| { &m.replace }, + |m: &mut UploadOptions| { &mut m.replace }, + )); ::protobuf::reflect::MessageDescriptor::new_pb_name::( "UploadOptions", fields, @@ -558,6 +592,7 @@ impl ::protobuf::Clear for UploadOptions { self.chunker.clear(); self.refID.clear(); self.progressive = false; + self.replace = false; self.unknown_fields.clear(); } } @@ -1550,157 +1585,161 @@ impl ::protobuf::reflect::ProtobufValue for RemoveResponse { static file_descriptor_proto_data: &'static [u8] = b"\ \n\nfile.proto\x12\x02pb\x1a\nutil.proto\"Z\n\rUploadRequest\x12\x1c\n\ \x04blob\x18\x01\x20\x01(\x0b2\x08.pb.BlobR\x04blob\x12+\n\x07options\ - \x18\x02\x20\x01(\x0b2\x11.pb.UploadOptionsR\x07options\"\x97\x01\n\rUpl\ + \x18\x02\x20\x01(\x0b2\x11.pb.UploadOptionsR\x07options\"\xb1\x01\n\rUpl\ oadOptions\x12\x1c\n\tmultiHash\x18\x01\x20\x01(\tR\tmultiHash\x12\x16\n\ \x06layout\x18\x02\x20\x01(\tR\x06layout\x12\x18\n\x07chunker\x18\x03\ \x20\x01(\tR\x07chunker\x12\x14\n\x05refID\x18\x04\x20\x01(\tR\x05refID\ - \x12\x20\n\x0bprogressive\x18\x05\x20\x01(\x08R\x0bprogressive\"\x7f\n\ - \x0fDownloadRequest\x12\x12\n\x04hash\x18\x01\x20\x01(\tR\x04hash\x12\ - \x1c\n\tchunkSize\x18\x02\x20\x01(\x05R\tchunkSize\x12\x1e\n\nrangeStart\ - \x18\x03\x20\x01(\x04R\nrangeStart\x12\x1a\n\x08rangeEnd\x18\x04\x20\x01\ - (\x04R\x08rangeEnd\"0\n\x10DownloadResponse\x12\x1c\n\x04blob\x18\x01\ - \x20\x01(\x0b2\x08.pb.BlobR\x04blob\"\\\n\x04Blob\x12\x18\n\x07content\ - \x18\x01\x20\x01(\x0cR\x07content\x12\x1e\n\nrangeStart\x18\x02\x20\x01(\ - \x04R\nrangeStart\x12\x1a\n\x08rangeEnd\x18\x03\x20\x01(\x04R\x08rangeEn\ - d\"\x81\x01\n\rRemoveRequest\x125\n\x06refIDs\x18\x01\x20\x03(\x0b2\x1d.\ - pb.RemoveRequest.RefIDsEntryR\x06refIDs\x1a9\n\x0bRefIDsEntry\x12\x10\n\ - \x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\t\ - R\x05value:\x028\x01\"&\n\x0eRemoveResponse\x12\x14\n\x05count\x18\x01\ - \x20\x01(\x04R\x05count2\xb5\x01\n\x07FileAPI\x124\n\nUploadFile\x12\x11\ - .pb.UploadRequest\x1a\x0f.pb.PutResponse\"\0(\x01\x12=\n\x0cDownloadFile\ - \x12\x13.pb.DownloadRequest\x1a\x14.pb.DownloadResponse\"\00\x01\x125\n\ - \nRemoveFile\x12\x11.pb.RemoveRequest\x1a\x12.pb.RemoveResponse\"\0J\xa4\ - \x20\n\x06\x12\x04\0\0U\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\ - \x02\x12\x03\x01\x08\n\n\t\n\x02\x03\0\x12\x03\x02\x07\x13\nU\n\x02\x06\ - \0\x12\x04\x05\0\x0c\x01\x1aI\x20FileAPI\x20provides\x20a\x20gRPC\x20api\ - \x20to\x20upload/download\x20files\x20as\x20UnixFS\x20objects\r\n\n\n\n\ - \x03\x06\0\x01\x12\x03\x05\x08\x0f\nb\n\x04\x06\0\x02\0\x12\x03\x07\x04B\ - \x1aU\x20UploadFile\x20allows\x20uploading\x20a\x20file\x20as\x20a\x20Un\ - ixFS\x20object\x20(equivalent\x20to\x20ipfs\x20pin\x20add)\r\n\n\x0c\n\ - \x05\x06\0\x02\0\x01\x12\x03\x07\x08\x12\n\x0c\n\x05\x06\0\x02\0\x05\x12\ - \x03\x07\x13\x19\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x1a'\n\x0c\n\ - \x05\x06\0\x02\0\x03\x12\x03\x073>\nX\n\x04\x06\0\x02\x01\x12\x03\t\x04J\ - \x1aK\x20DownloadFile\x20allows\x20downloading\x20a\x20UnixFS\x20object\ - \x20(equivalent\x20to\x20ipfs\x20get)\r\n\n\x0c\n\x05\x06\0\x02\x01\x01\ - \x12\x03\t\x08\x14\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\t\x15$\n\x0c\n\ - \x05\x06\0\x02\x01\x06\x12\x03\t/5\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\ - \t6F\ny\n\x04\x06\0\x02\x02\x12\x03\x0b\x04=\x1al\x20RemoveFile\x20allow\ - s\x20removing\x20a\x20UnixFS\x20object\x20or\x20decrease\x20it's\x20refe\ - rence\x20counter\x20(equivalent\x20to\x20ipfs\x20pin\x20rm)\r\n\n\x0c\n\ - \x05\x06\0\x02\x02\x01\x12\x03\x0b\x08\x12\n\x0c\n\x05\x06\0\x02\x02\x02\ - \x12\x03\x0b\x13\x20\n\x0c\n\x05\x06\0\x02\x02\x03\x12\x03\x0b+9\nF\n\ - \x02\x04\0\x12\x04\x10\0\x15\x01\x1a:\x20UploadRequest\x20is\x20used\x20\ - to\x20upload\x20data\x20as\x20a\x20UnixFS\x20object\r\n\n\n\n\x03\x04\0\ - \x01\x12\x03\x10\x08\x15\n.\n\x04\x04\0\x02\0\x12\x03\x12\x04\x12\x1a!\ - \x20blob\x20is\x20a\x20single\x20chunk\x20of\x20data\r\n\n\r\n\x05\x04\0\ - \x02\0\x04\x12\x04\x12\x04\x10\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\ - \x12\x04\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x12\t\r\n\x0c\n\x05\x04\ - \0\x02\0\x03\x12\x03\x12\x10\x11\no\n\x04\x04\0\x02\x01\x12\x03\x14\x04\ - \x1e\x1ab\x20options\x20allows\x20setting\x20the\x20options\x20for\x20th\ - is\x20upload,\x20only\x20valid\x20in\x20the\x20first\x20message\x20of\ - \x20a\x20stream\r\n\n\r\n\x05\x04\0\x02\x01\x04\x12\x04\x14\x04\x12\x12\ - \n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x14\x04\x11\n\x0c\n\x05\x04\0\x02\ - \x01\x01\x12\x03\x14\x12\x19\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x14\ - \x1c\x1d\nO\n\x02\x04\x01\x12\x04\x18\0#\x01\x1aC\x20UploadOptions\x20al\ - lows\x20controlling\x20the\x20parameters\x20of\x20a\x20file\x20upload\r\ - \n\n\n\n\x03\x04\x01\x01\x12\x03\x18\x08\x15\n7\n\x04\x04\x01\x02\0\x12\ - \x03\x1a\x04\x19\x1a*\x20specifies\x20the\x20multihash\x20function\x20to\ - \x20use\r\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04\x1a\x04\x18\x17\n\x0c\n\ - \x05\x04\x01\x02\0\x05\x12\x03\x1a\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\ - \x12\x03\x1a\x0b\x14\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x1a\x17\x18\n\ - =\n\x04\x04\x01\x02\x01\x12\x03\x1c\x04\x16\x1a0\x20specifies\x20the\x20\ - dag\x20layout\x20(balanced,\x20tricklet)\r\n\n\r\n\x05\x04\x01\x02\x01\ - \x04\x12\x04\x1c\x04\x1a\x19\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1c\ - \x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1c\x0b\x11\n\x0c\n\x05\ - \x04\x01\x02\x01\x03\x12\x03\x1c\x14\x15\nC\n\x04\x04\x01\x02\x02\x12\ - \x03\x1e\x04\x17\x1a6\x20specifies\x20the\x20chunker\x20type\x20(rabin,\ - \x20default,\x20etc...)\r\n\n\r\n\x05\x04\x01\x02\x02\x04\x12\x04\x1e\ - \x04\x1c\x16\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x1e\x04\n\n\x0c\n\ - \x05\x04\x01\x02\x02\x01\x12\x03\x1e\x0b\x12\n\x0c\n\x05\x04\x01\x02\x02\ - \x03\x12\x03\x1e\x15\x16\ns\n\x04\x04\x01\x02\x03\x12\x03\x20\x04\x15\ - \x1af\x20optional\x20reference\x20ID\x20to\x20tag\x20the\x20file\x20with\ - .\x20If\x20set,\x20the\x20same\x20reference\x20ID\x20must\x20be\x20used\ - \x20for\x20deletion\r\n\n\r\n\x05\x04\x01\x02\x03\x04\x12\x04\x20\x04\ - \x1e\x17\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x20\x04\n\n\x0c\n\x05\ - \x04\x01\x02\x03\x01\x12\x03\x20\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\x03\ - \x12\x03\x20\x13\x14\n:\n\x04\x04\x01\x02\x04\x12\x03\"\x04\x19\x1a-\x20\ - if\x20refID\x20is\x20set,\x20allows\x20progressive\x20upload\r\n\n\r\n\ - \x05\x04\x01\x02\x04\x04\x12\x04\"\x04\x20\x15\n\x0c\n\x05\x04\x01\x02\ - \x04\x05\x12\x03\"\x04\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\"\t\ - \x14\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\"\x17\x18\n\xa9\x01\n\x02\ - \x04\x02\x12\x04(\05\x01\x1a\x9c\x01\x20DownloadRequest\x20is\x20used\ - \x20to\x20download\x20a\x20UnixFS\x20object\r\n\x20although\x20it\x20can\ + \x12\x20\n\x0bprogressive\x18\x05\x20\x01(\x08R\x0bprogressive\x12\x18\n\ + \x07replace\x18\x06\x20\x01(\x08R\x07replace\"\x7f\n\x0fDownloadRequest\ + \x12\x12\n\x04hash\x18\x01\x20\x01(\tR\x04hash\x12\x1c\n\tchunkSize\x18\ + \x02\x20\x01(\x05R\tchunkSize\x12\x1e\n\nrangeStart\x18\x03\x20\x01(\x04\ + R\nrangeStart\x12\x1a\n\x08rangeEnd\x18\x04\x20\x01(\x04R\x08rangeEnd\"0\ + \n\x10DownloadResponse\x12\x1c\n\x04blob\x18\x01\x20\x01(\x0b2\x08.pb.Bl\ + obR\x04blob\"\\\n\x04Blob\x12\x18\n\x07content\x18\x01\x20\x01(\x0cR\x07\ + content\x12\x1e\n\nrangeStart\x18\x02\x20\x01(\x04R\nrangeStart\x12\x1a\ + \n\x08rangeEnd\x18\x03\x20\x01(\x04R\x08rangeEnd\"\x81\x01\n\rRemoveRequ\ + est\x125\n\x06refIDs\x18\x01\x20\x03(\x0b2\x1d.pb.RemoveRequest.RefIDsEn\ + tryR\x06refIDs\x1a9\n\x0bRefIDsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\t\ + R\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\"&\n\ + \x0eRemoveResponse\x12\x14\n\x05count\x18\x01\x20\x01(\x04R\x05count2\ + \xb5\x01\n\x07FileAPI\x124\n\nUploadFile\x12\x11.pb.UploadRequest\x1a\ + \x0f.pb.PutResponse\"\0(\x01\x12=\n\x0cDownloadFile\x12\x13.pb.DownloadR\ + equest\x1a\x14.pb.DownloadResponse\"\00\x01\x125\n\nRemoveFile\x12\x11.p\ + b.RemoveRequest\x1a\x12.pb.RemoveResponse\"\0J\x88!\n\x06\x12\x04\0\0W\ + \x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\n\ + \t\n\x02\x03\0\x12\x03\x02\x07\x13\nT\n\x02\x06\0\x12\x04\x05\0\x0c\x01\ + \x1aH\x20FileAPI\x20provides\x20a\x20gRPC\x20api\x20to\x20upload/downloa\ + d\x20files\x20as\x20UnixFS\x20objects\n\n\n\n\x03\x06\0\x01\x12\x03\x05\ + \x08\x0f\na\n\x04\x06\0\x02\0\x12\x03\x07\x04B\x1aT\x20UploadFile\x20all\ + ows\x20uploading\x20a\x20file\x20as\x20a\x20UnixFS\x20object\x20(equival\ + ent\x20to\x20ipfs\x20pin\x20add)\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\ + \x07\x08\x12\n\x0c\n\x05\x06\0\x02\0\x05\x12\x03\x07\x13\x19\n\x0c\n\x05\ + \x06\0\x02\0\x02\x12\x03\x07\x1a'\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03\ + \x073>\nW\n\x04\x06\0\x02\x01\x12\x03\t\x04J\x1aJ\x20DownloadFile\x20all\ + ows\x20downloading\x20a\x20UnixFS\x20object\x20(equivalent\x20to\x20ipfs\ + \x20get)\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x03\t\x08\x14\n\x0c\n\x05\ + \x06\0\x02\x01\x02\x12\x03\t\x15$\n\x0c\n\x05\x06\0\x02\x01\x06\x12\x03\ + \t/5\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t6F\nx\n\x04\x06\0\x02\x02\ + \x12\x03\x0b\x04=\x1ak\x20RemoveFile\x20allows\x20removing\x20a\x20UnixF\ + S\x20object\x20or\x20decrease\x20it's\x20reference\x20counter\x20(equiva\ + lent\x20to\x20ipfs\x20pin\x20rm)\n\n\x0c\n\x05\x06\0\x02\x02\x01\x12\x03\ + \x0b\x08\x12\n\x0c\n\x05\x06\0\x02\x02\x02\x12\x03\x0b\x13\x20\n\x0c\n\ + \x05\x06\0\x02\x02\x03\x12\x03\x0b+9\nE\n\x02\x04\0\x12\x04\x10\0\x15\ + \x01\x1a9\x20UploadRequest\x20is\x20used\x20to\x20upload\x20data\x20as\ + \x20a\x20UnixFS\x20object\n\n\n\n\x03\x04\0\x01\x12\x03\x10\x08\x15\n-\n\ + \x04\x04\0\x02\0\x12\x03\x12\x04\x12\x1a\x20\x20blob\x20is\x20a\x20singl\ + e\x20chunk\x20of\x20data\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x12\x04\x10\ + \x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x12\x04\x08\n\x0c\n\x05\x04\0\ + \x02\0\x01\x12\x03\x12\t\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x12\x10\ + \x11\nn\n\x04\x04\0\x02\x01\x12\x03\x14\x04\x1e\x1aa\x20options\x20allow\ + s\x20setting\x20the\x20options\x20for\x20this\x20upload,\x20only\x20vali\ + d\x20in\x20the\x20first\x20message\x20of\x20a\x20stream\n\n\r\n\x05\x04\ + \0\x02\x01\x04\x12\x04\x14\x04\x12\x12\n\x0c\n\x05\x04\0\x02\x01\x06\x12\ + \x03\x14\x04\x11\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x14\x12\x19\n\x0c\ + \n\x05\x04\0\x02\x01\x03\x12\x03\x14\x1c\x1d\nN\n\x02\x04\x01\x12\x04\ + \x18\0%\x01\x1aB\x20UploadOptions\x20allows\x20controlling\x20the\x20par\ + ameters\x20of\x20a\x20file\x20upload\n\n\n\n\x03\x04\x01\x01\x12\x03\x18\ + \x08\x15\n6\n\x04\x04\x01\x02\0\x12\x03\x1a\x04\x19\x1a)\x20specifies\ + \x20the\x20multihash\x20function\x20to\x20use\n\n\r\n\x05\x04\x01\x02\0\ + \x04\x12\x04\x1a\x04\x18\x17\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\x1a\ + \x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x1a\x0b\x14\n\x0c\n\x05\x04\ + \x01\x02\0\x03\x12\x03\x1a\x17\x18\n<\n\x04\x04\x01\x02\x01\x12\x03\x1c\ + \x04\x16\x1a/\x20specifies\x20the\x20dag\x20layout\x20(balanced,\x20tric\ + klet)\n\n\r\n\x05\x04\x01\x02\x01\x04\x12\x04\x1c\x04\x1a\x19\n\x0c\n\ + \x05\x04\x01\x02\x01\x05\x12\x03\x1c\x04\n\n\x0c\n\x05\x04\x01\x02\x01\ + \x01\x12\x03\x1c\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1c\x14\ + \x15\nB\n\x04\x04\x01\x02\x02\x12\x03\x1e\x04\x17\x1a5\x20specifies\x20t\ + he\x20chunker\x20type\x20(rabin,\x20default,\x20etc...)\n\n\r\n\x05\x04\ + \x01\x02\x02\x04\x12\x04\x1e\x04\x1c\x16\n\x0c\n\x05\x04\x01\x02\x02\x05\ + \x12\x03\x1e\x04\n\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x1e\x0b\x12\n\ + \x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1e\x15\x16\nr\n\x04\x04\x01\x02\ + \x03\x12\x03\x20\x04\x15\x1ae\x20optional\x20reference\x20ID\x20to\x20ta\ + g\x20the\x20file\x20with.\x20If\x20set,\x20the\x20same\x20reference\x20I\ + D\x20must\x20be\x20used\x20for\x20deletion\n\n\r\n\x05\x04\x01\x02\x03\ + \x04\x12\x04\x20\x04\x1e\x17\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x20\ + \x04\n\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x20\x0b\x10\n\x0c\n\x05\ + \x04\x01\x02\x03\x03\x12\x03\x20\x13\x14\n9\n\x04\x04\x01\x02\x04\x12\ + \x03\"\x04\x19\x1a,\x20if\x20refID\x20is\x20set,\x20allows\x20progressiv\ + e\x20upload\n\n\r\n\x05\x04\x01\x02\x04\x04\x12\x04\"\x04\x20\x15\n\x0c\ + \n\x05\x04\x01\x02\x04\x05\x12\x03\"\x04\x08\n\x0c\n\x05\x04\x01\x02\x04\ + \x01\x12\x03\"\t\x14\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\"\x17\x18\n\ + O\n\x04\x04\x01\x02\x05\x12\x03$\x04\x15\x1aB\x20if\x20refID\x20is\x20se\ + t,\x20remove\x20the\x20any\x20existing\x20uploads\x20with\x20same\x20ref\ + ID\n\n\r\n\x05\x04\x01\x02\x05\x04\x12\x04$\x04\"\x19\n\x0c\n\x05\x04\ + \x01\x02\x05\x05\x12\x03$\x04\x08\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\ + \x03$\t\x10\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03$\x13\x14\n\xa6\x01\n\ + \x02\x04\x02\x12\x04*\07\x01\x1a\x99\x01\x20DownloadRequest\x20is\x20use\ + d\x20to\x20download\x20a\x20UnixFS\x20object\n\x20although\x20it\x20can\ \x20in\x20theory\x20be\x20used\x20with\x20other\x20type\x20of\x20objects\ - \r\n\x20there\x20may\x20be\x20some\x20undefined\x20behavior\r\n\n\n\n\ - \x03\x04\x02\x01\x12\x03(\x08\x17\nV\n\x04\x04\x02\x02\0\x12\x03*\x04\ - \x14\x1aI\x20hash\x20is\x20the\x20ipfs\x20hash/cid\x20(content\x20identi\ - fier)\x20of\x20the\x20data\x20to\x20download\r\n\n\r\n\x05\x04\x02\x02\0\ - \x04\x12\x04*\x04(\x19\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03*\x04\n\n\ - \x0c\n\x05\x04\x02\x02\0\x01\x12\x03*\x0b\x0f\n\x0c\n\x05\x04\x02\x02\0\ - \x03\x12\x03*\x12\x13\n\xba\x01\n\x04\x04\x02\x02\x01\x12\x03.\x04\x18\ - \x1a\xac\x01\x20chunkSize\x20specifies\x20the\x20size\x20of\x20chunks\ - \x20to\x20be\x20sent\x20to\x20the\x20client\r\n\x20it\x20allows\x20us\ - \x20to\x20efficiently\x20control\x20incoming\x20data\x20amounts\x20which\ - \r\n\x20is\x20useful\x20on\x20machines\x20with\x20low-memory\r\n\n\r\n\ - \x05\x04\x02\x02\x01\x04\x12\x04.\x04*\x14\n\x0c\n\x05\x04\x02\x02\x01\ - \x05\x12\x03.\x04\t\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03.\n\x13\n\x0c\ - \n\x05\x04\x02\x02\x01\x03\x12\x03.\x16\x17\n\xad\x02\n\x04\x04\x02\x02\ - \x02\x12\x033\x04\x1a\x1a\x9f\x02\x20Range\x20start\x20and\x20end\x20mir\ - rors\x20developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range.\r\n\x20\ - If\x20both\x20is\x20none\x20zero,\x20only\x20data\x20within\x20range\x20\ - is\x20requested.\r\n\x20The\x20unit\x20of\x20range\x20is\x20always\x20in\ - \x20bytes.\r\n\x20If\x20used,\x20please\x20check\x20the\x20returned\x20r\ - ange\x20values\x20in\x20blobs\x20to\x20make\x20sure\x20this\x20feature\ - \x20is\x20supported.\r\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x043\x04.\x18\ - \n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x033\x04\n\n\x0c\n\x05\x04\x02\x02\ - \x02\x01\x12\x033\x0b\x15\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x033\x18\ - \x19\n\x0b\n\x04\x04\x02\x02\x03\x12\x034\x04\x18\n\r\n\x05\x04\x02\x02\ - \x03\x04\x12\x044\x043\x1a\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x034\x04\ - \n\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x034\x0b\x13\n\x0c\n\x05\x04\x02\ - \x02\x03\x03\x12\x034\x16\x17\n\x88\x01\n\x02\x04\x03\x12\x049\0<\x01\ - \x1a|\x20DownloadResponse\x20contains\x20the\x20response\x20to\x20a\x20d\ - ownload\x20request\r\n\x20which\x20allows\x20the\x20gRPC\x20server\x20to\ - \x20stream\x20blobs\x20to\x20the\x20client\r\n\n\n\n\x03\x04\x03\x01\x12\ - \x039\x08\x18\n.\n\x04\x04\x03\x02\0\x12\x03;\x04\x12\x1a!\x20blob\x20is\ - \x20a\x20single\x20chunk\x20of\x20data\r\n\n\r\n\x05\x04\x03\x02\0\x04\ - \x12\x04;\x049\x1a\n\x0c\n\x05\x04\x03\x02\0\x06\x12\x03;\x04\x08\n\x0c\ - \n\x05\x04\x03\x02\0\x01\x12\x03;\t\r\n\x0c\n\x05\x04\x03\x02\0\x03\x12\ - \x03;\x10\x11\n-\n\x02\x04\x04\x12\x04?\0H\x01\x1a!\x20Blob\x20is\x20a\ - \x20chunk\x20of\x20binary\x20data\r\n\n\n\n\x03\x04\x04\x01\x12\x03?\x08\ - \x0c\nK\n\x04\x04\x04\x02\0\x12\x03A\x04\x16\x1a>\x20content\x20is\x20th\ - e\x20actual\x20binary\x20data\x20contained\x20in\x20this\x20message\r\n\ - \n\r\n\x05\x04\x04\x02\0\x04\x12\x04A\x04?\x0e\n\x0c\n\x05\x04\x04\x02\0\ - \x05\x12\x03A\x04\t\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03A\n\x11\n\x0c\n\ - \x05\x04\x04\x02\0\x03\x12\x03A\x14\x15\n\x97\x02\n\x04\x04\x04\x02\x01\ - \x12\x03F\x04\x1a\x1a\x89\x02\x20Range\x20start\x20and\x20end\x20mirrors\ - \x20developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range.\r\n\ - \x20If\x20both\x20is\x20zero,\x20the\x20blobs\x20streams\x20contents\x20\ - of\x20the\x20file\x20from\x20start\x20to\x20finish.\r\n\x20The\x20unit\ - \x20of\x20range\x20is\x20always\x20in\x20bytes.\r\n\x20Currently,\x20Dow\ - nloadResponse\x20support\x20blob\x20range.\r\n\n\r\n\x05\x04\x04\x02\x01\ - \x04\x12\x04F\x04A\x16\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03F\x04\n\n\ - \x0c\n\x05\x04\x04\x02\x01\x01\x12\x03F\x0b\x15\n\x0c\n\x05\x04\x04\x02\ - \x01\x03\x12\x03F\x18\x19\n\x0b\n\x04\x04\x04\x02\x02\x12\x03G\x04\x18\n\ - \r\n\x05\x04\x04\x02\x02\x04\x12\x04G\x04F\x1a\n\x0c\n\x05\x04\x04\x02\ - \x02\x05\x12\x03G\x04\n\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03G\x0b\x13\ - \n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03G\x16\x17\nV\n\x02\x04\x05\x12\ - \x04K\0N\x01\x1aJ\x20UploadRequest\x20is\x20used\x20to\x20decrease\x20th\ - e\x20reference\x20count\x20on\x20UnixFS\x20objects\r\n\n\n\n\x03\x04\x05\ - \x01\x12\x03K\x08\x15\nh\n\x04\x04\x05\x02\0\x12\x03M\x04#\x1a[\x20refID\ - s\x20is\x20a\x20map\x20of\x20reference\x20IDs\x20to\x20hash/cid\x20of\ - \x20objects\x20to\x20remove\x20those\x20reference\x20counts\r\n\n\r\n\ - \x05\x04\x05\x02\0\x04\x12\x04M\x04K\x16\n\x0c\n\x05\x04\x05\x02\0\x06\ - \x12\x03M\x04\x17\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03M\x18\x1e\n\x0c\n\ - \x05\x04\x05\x02\0\x03\x12\x03M!\"\nG\n\x02\x04\x06\x12\x04Q\0U\x01\x1a;\ - \x20RemoveResponse\x20contains\x20the\x20response\x20to\x20a\x20remove\ - \x20request\r\n\n\n\n\x03\x04\x06\x01\x12\x03Q\x08\x16\n\x98\x01\n\x04\ - \x04\x06\x02\0\x12\x03T\x04\x15\x1a\x8a\x01\x20The\x20number\x20of\x20re\ - moval\x20operations\x20performed.\r\n\x20A\x20missing\x20count\x20is\x20\ - because\x20the\x20refID\x20to\x20hash\x20pair\x20was\x20already\x20remov\ - ed\x20or\x20was\x20never\x20added\x20\r\n\n\r\n\x05\x04\x06\x02\0\x04\ - \x12\x04T\x04Q\x17\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03T\x04\n\n\x0c\n\ - \x05\x04\x06\x02\0\x01\x12\x03T\x0b\x10\n\x0c\n\x05\x04\x06\x02\0\x03\ - \x12\x03T\x13\x14b\x06proto3\ + \n\x20there\x20may\x20be\x20some\x20undefined\x20behavior\n\n\n\n\x03\ + \x04\x02\x01\x12\x03*\x08\x17\nU\n\x04\x04\x02\x02\0\x12\x03,\x04\x14\ + \x1aH\x20hash\x20is\x20the\x20ipfs\x20hash/cid\x20(content\x20identifier\ + )\x20of\x20the\x20data\x20to\x20download\n\n\r\n\x05\x04\x02\x02\0\x04\ + \x12\x04,\x04*\x19\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03,\x04\n\n\x0c\n\ + \x05\x04\x02\x02\0\x01\x12\x03,\x0b\x0f\n\x0c\n\x05\x04\x02\x02\0\x03\ + \x12\x03,\x12\x13\n\xb7\x01\n\x04\x04\x02\x02\x01\x12\x030\x04\x18\x1a\ + \xa9\x01\x20chunkSize\x20specifies\x20the\x20size\x20of\x20chunks\x20to\ + \x20be\x20sent\x20to\x20the\x20client\n\x20it\x20allows\x20us\x20to\x20e\ + fficiently\x20control\x20incoming\x20data\x20amounts\x20which\n\x20is\ + \x20useful\x20on\x20machines\x20with\x20low-memory\n\n\r\n\x05\x04\x02\ + \x02\x01\x04\x12\x040\x04,\x14\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x030\ + \x04\t\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x030\n\x13\n\x0c\n\x05\x04\ + \x02\x02\x01\x03\x12\x030\x16\x17\n\xa9\x02\n\x04\x04\x02\x02\x02\x12\ + \x035\x04\x1a\x1a\x9b\x02\x20Range\x20start\x20and\x20end\x20mirrors\x20\ + developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range.\n\x20If\x20both\ + \x20is\x20none\x20zero,\x20only\x20data\x20within\x20range\x20is\x20requ\ + ested.\n\x20The\x20unit\x20of\x20range\x20is\x20always\x20in\x20bytes.\n\ + \x20If\x20used,\x20please\x20check\x20the\x20returned\x20range\x20values\ + \x20in\x20blobs\x20to\x20make\x20sure\x20this\x20feature\x20is\x20suppor\ + ted.\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x045\x040\x18\n\x0c\n\x05\x04\ + \x02\x02\x02\x05\x12\x035\x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x035\ + \x0b\x15\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x035\x18\x19\n\x0b\n\x04\ + \x04\x02\x02\x03\x12\x036\x04\x18\n\r\n\x05\x04\x02\x02\x03\x04\x12\x046\ + \x045\x1a\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x036\x04\n\n\x0c\n\x05\x04\ + \x02\x02\x03\x01\x12\x036\x0b\x13\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\ + \x036\x16\x17\n\x86\x01\n\x02\x04\x03\x12\x04;\0>\x01\x1az\x20DownloadRe\ + sponse\x20contains\x20the\x20response\x20to\x20a\x20download\x20request\ + \n\x20which\x20allows\x20the\x20gRPC\x20server\x20to\x20stream\x20blobs\ + \x20to\x20the\x20client\n\n\n\n\x03\x04\x03\x01\x12\x03;\x08\x18\n-\n\ + \x04\x04\x03\x02\0\x12\x03=\x04\x12\x1a\x20\x20blob\x20is\x20a\x20single\ + \x20chunk\x20of\x20data\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x04=\x04;\x1a\ + \n\x0c\n\x05\x04\x03\x02\0\x06\x12\x03=\x04\x08\n\x0c\n\x05\x04\x03\x02\ + \0\x01\x12\x03=\t\r\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03=\x10\x11\n,\n\ + \x02\x04\x04\x12\x04A\0J\x01\x1a\x20\x20Blob\x20is\x20a\x20chunk\x20of\ + \x20binary\x20data\n\n\n\n\x03\x04\x04\x01\x12\x03A\x08\x0c\nJ\n\x04\x04\ + \x04\x02\0\x12\x03C\x04\x16\x1a=\x20content\x20is\x20the\x20actual\x20bi\ + nary\x20data\x20contained\x20in\x20this\x20message\n\n\r\n\x05\x04\x04\ + \x02\0\x04\x12\x04C\x04A\x0e\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03C\x04\ + \t\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03C\n\x11\n\x0c\n\x05\x04\x04\x02\ + \0\x03\x12\x03C\x14\x15\n\x93\x02\n\x04\x04\x04\x02\x01\x12\x03H\x04\x1a\ + \x1a\x85\x02\x20Range\x20start\x20and\x20end\x20mirrors\x20developer.moz\ + illa.org/en-US/docs/Web/HTTP/Headers/Content-Range.\n\x20If\x20both\x20i\ + s\x20zero,\x20the\x20blobs\x20streams\x20contents\x20of\x20the\x20file\ + \x20from\x20start\x20to\x20finish.\n\x20The\x20unit\x20of\x20range\x20is\ + \x20always\x20in\x20bytes.\n\x20Currently,\x20DownloadResponse\x20suppor\ + t\x20blob\x20range.\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04H\x04C\x16\n\ + \x0c\n\x05\x04\x04\x02\x01\x05\x12\x03H\x04\n\n\x0c\n\x05\x04\x04\x02\ + \x01\x01\x12\x03H\x0b\x15\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03H\x18\ + \x19\n\x0b\n\x04\x04\x04\x02\x02\x12\x03I\x04\x18\n\r\n\x05\x04\x04\x02\ + \x02\x04\x12\x04I\x04H\x1a\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03I\x04\ + \n\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03I\x0b\x13\n\x0c\n\x05\x04\x04\ + \x02\x02\x03\x12\x03I\x16\x17\nU\n\x02\x04\x05\x12\x04M\0P\x01\x1aI\x20U\ + ploadRequest\x20is\x20used\x20to\x20decrease\x20the\x20reference\x20coun\ + t\x20on\x20UnixFS\x20objects\n\n\n\n\x03\x04\x05\x01\x12\x03M\x08\x15\ng\ + \n\x04\x04\x05\x02\0\x12\x03O\x04#\x1aZ\x20refIDs\x20is\x20a\x20map\x20o\ + f\x20reference\x20IDs\x20to\x20hash/cid\x20of\x20objects\x20to\x20remove\ + \x20those\x20reference\x20counts\n\n\r\n\x05\x04\x05\x02\0\x04\x12\x04O\ + \x04M\x16\n\x0c\n\x05\x04\x05\x02\0\x06\x12\x03O\x04\x17\n\x0c\n\x05\x04\ + \x05\x02\0\x01\x12\x03O\x18\x1e\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03O!\ + \"\nF\n\x02\x04\x06\x12\x04S\0W\x01\x1a:\x20RemoveResponse\x20contains\ + \x20the\x20response\x20to\x20a\x20remove\x20request\n\n\n\n\x03\x04\x06\ + \x01\x12\x03S\x08\x16\n\x96\x01\n\x04\x04\x06\x02\0\x12\x03V\x04\x15\x1a\ + \x88\x01\x20The\x20number\x20of\x20removal\x20operations\x20performed.\n\ + \x20A\x20missing\x20count\x20is\x20because\x20the\x20refID\x20to\x20hash\ + \x20pair\x20was\x20already\x20removed\x20or\x20was\x20never\x20added\x20\ + \n\n\r\n\x05\x04\x06\x02\0\x04\x12\x04V\x04S\x17\n\x0c\n\x05\x04\x06\x02\ + \0\x05\x12\x03V\x04\n\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03V\x0b\x10\n\ + \x0c\n\x05\x04\x06\x02\0\x03\x12\x03V\x13\x14b\x06proto3\ "; static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; diff --git a/rs/src/node.rs b/rs/src/node.rs index 6ec269b..5772f81 100644 --- a/rs/src/node.rs +++ b/rs/src/node.rs @@ -2065,6 +2065,7 @@ pub struct BlockstoreRequest { pub hashFunc: ::std::string::String, pub refID: ::std::string::String, pub progressive: bool, + pub replace: bool, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -2263,6 +2264,21 @@ impl BlockstoreRequest { pub fn set_progressive(&mut self, v: bool) { self.progressive = v; } + + // bool replace = 10; + + + pub fn get_replace(&self) -> bool { + self.replace + } + pub fn clear_replace(&mut self) { + self.replace = false; + } + + // Param is passed by value, moved + pub fn set_replace(&mut self, v: bool) { + self.replace = v; + } } impl ::protobuf::Message for BlockstoreRequest { @@ -2302,6 +2318,13 @@ impl ::protobuf::Message for BlockstoreRequest { let tmp = is.read_bool()?; self.progressive = tmp; }, + 10 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.replace = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -2338,6 +2361,9 @@ impl ::protobuf::Message for BlockstoreRequest { if self.progressive != false { my_size += 2; } + if self.replace != false { + my_size += 2; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -2368,6 +2394,9 @@ impl ::protobuf::Message for BlockstoreRequest { if self.progressive != false { os.write_bool(9, self.progressive)?; } + if self.replace != false { + os.write_bool(10, self.replace)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -2446,6 +2475,11 @@ impl ::protobuf::Message for BlockstoreRequest { |m: &BlockstoreRequest| { &m.progressive }, |m: &mut BlockstoreRequest| { &mut m.progressive }, )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "replace", + |m: &BlockstoreRequest| { &m.replace }, + |m: &mut BlockstoreRequest| { &mut m.replace }, + )); ::protobuf::reflect::MessageDescriptor::new_pb_name::( "BlockstoreRequest", fields, @@ -2470,6 +2504,7 @@ impl ::protobuf::Clear for BlockstoreRequest { self.hashFunc.clear(); self.refID.clear(); self.progressive = false; + self.replace = false; self.unknown_fields.clear(); } } @@ -2932,6 +2967,7 @@ pub struct DagRequest { pub links: ::std::collections::HashMap<::std::string::String, ::std::string::String>, pub refID: ::std::string::String, pub progressive: bool, + pub replace: bool, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -3173,6 +3209,21 @@ impl DagRequest { pub fn set_progressive(&mut self, v: bool) { self.progressive = v; } + + // bool replace = 11; + + + pub fn get_replace(&self) -> bool { + self.replace + } + pub fn clear_replace(&mut self) { + self.replace = false; + } + + // Param is passed by value, moved + pub fn set_replace(&mut self, v: bool) { + self.replace = v; + } } impl ::protobuf::Message for DagRequest { @@ -3222,6 +3273,13 @@ impl ::protobuf::Message for DagRequest { let tmp = is.read_bool()?; self.progressive = tmp; }, + 11 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.replace = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -3262,6 +3320,9 @@ impl ::protobuf::Message for DagRequest { if self.progressive != false { my_size += 2; } + if self.replace != false { + my_size += 2; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -3296,6 +3357,9 @@ impl ::protobuf::Message for DagRequest { if self.progressive != false { os.write_bool(10, self.progressive)?; } + if self.replace != false { + os.write_bool(11, self.replace)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -3384,6 +3448,11 @@ impl ::protobuf::Message for DagRequest { |m: &DagRequest| { &m.progressive }, |m: &mut DagRequest| { &mut m.progressive }, )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>( + "replace", + |m: &DagRequest| { &m.replace }, + |m: &mut DagRequest| { &mut m.replace }, + )); ::protobuf::reflect::MessageDescriptor::new_pb_name::( "DagRequest", fields, @@ -3410,6 +3479,7 @@ impl ::protobuf::Clear for DagRequest { self.links.clear(); self.refID.clear(); self.progressive = false; + self.replace = false; self.unknown_fields.clear(); } } @@ -5938,718 +6008,724 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x12\x16\n\x06reason\x18\x02\x20\x01(\tR\x06reason\"z\n\rExtrasRequest\ \x123\n\x0brequestType\x18\x01\x20\x01(\x0e2\x11.pb.EXTRASREQTYPER\x0bre\ questType\x124\n\rextrasFeature\x18\x02\x20\x01(\x0e2\x0e.pb.EXTRASTYPER\ - \rextrasFeature\"\x89\x02\n\x11BlockstoreRequest\x12/\n\x0brequestType\ + \rextrasFeature\"\xa3\x02\n\x11BlockstoreRequest\x12/\n\x0brequestType\ \x18\x01\x20\x01(\x0e2\r.pb.BSREQTYPER\x0brequestType\x12'\n\x07reqOpts\ \x18\x02\x20\x03(\x0e2\r.pb.BSREQOPTSR\x07reqOpts\x12\x12\n\x04cids\x18\ \x03\x20\x03(\tR\x04cids\x12\x12\n\x04data\x18\x04\x20\x03(\x0cR\x04data\ \x12\x1e\n\ncidVersion\x18\x05\x20\x01(\tR\ncidVersion\x12\x1a\n\x08hash\ Func\x18\x07\x20\x01(\tR\x08hashFunc\x12\x14\n\x05refID\x18\x08\x20\x01(\ \tR\x05refID\x12\x20\n\x0bprogressive\x18\t\x20\x01(\x08R\x0bprogressive\ - \"h\n\x12BlockstoreResponse\x12/\n\x0brequestType\x18\x01\x20\x01(\x0e2\ - \r.pb.BSREQTYPER\x0brequestType\x12!\n\x06blocks\x18\x02\x20\x03(\x0b2\t\ - .pb.BlockR\x06blocks\"A\n\x05Block\x12\x10\n\x03cid\x18\x01\x20\x01(\tR\ - \x03cid\x12\x12\n\x04data\x18\x02\x20\x01(\x0cR\x04data\x12\x12\n\x04siz\ - e\x18\x03\x20\x01(\x03R\x04size\"\x9f\x03\n\nDagRequest\x120\n\x0breques\ - tType\x18\x01\x20\x01(\x0e2\x0e.pb.DAGREQTYPER\x0brequestType\x12\x12\n\ - \x04data\x18\x02\x20\x01(\x0cR\x04data\x12&\n\x0eobjectEncoding\x18\x03\ - \x20\x01(\tR\x0eobjectEncoding\x120\n\x13serializationFormat\x18\x04\x20\ - \x01(\tR\x13serializationFormat\x12\x1a\n\x08hashFunc\x18\x05\x20\x01(\t\ - R\x08hashFunc\x12\x1e\n\ncidVersion\x18\x06\x20\x01(\x03R\ncidVersion\ - \x12\x12\n\x04hash\x18\x07\x20\x01(\tR\x04hash\x12/\n\x05links\x18\x08\ - \x20\x03(\x0b2\x19.pb.DagRequest.LinksEntryR\x05links\x12\x14\n\x05refID\ - \x18\t\x20\x01(\tR\x05refID\x12\x20\n\x0bprogressive\x18\n\x20\x01(\x08R\ - \x0bprogressive\x1a8\n\nLinksEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\ - \x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\"\xb5\ - \x02\n\x0bDagResponse\x120\n\x0brequestType\x18\x01\x20\x01(\x0e2\x0e.pb\ - .DAGREQTYPER\x0brequestType\x12\x16\n\x06hashes\x18\x02\x20\x03(\tR\x06h\ - ashes\x12\x18\n\x07rawData\x18\x03\x20\x01(\x0cR\x07rawData\x12\"\n\x05l\ - inks\x18\x04\x20\x03(\x0b2\x0c.pb.IPLDLinkR\x05links\x12<\n\tnodeStats\ - \x18\x05\x20\x03(\x0b2\x1e.pb.DagResponse.NodeStatsEntryR\tnodeStats\x12\ - \x14\n\x05count\x18\x06\x20\x01(\x04R\x05count\x1aJ\n\x0eNodeStatsEntry\ - \x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\"\n\x05value\x18\x02\ - \x20\x01(\x0b2\x0c.pb.IPLDStatR\x05value:\x028\x01\"\xa4\x01\n\x08IPLDSt\ - at\x12\x1a\n\x08numLinks\x18\x01\x20\x01(\x03R\x08numLinks\x12\x1c\n\tbl\ - ockSize\x18\x02\x20\x01(\x03R\tblockSize\x12\x1a\n\x08linkSize\x18\x03\ - \x20\x01(\x03R\x08linkSize\x12&\n\x0ecumulativeSize\x18\x04\x20\x01(\x03\ - R\x0ecumulativeSize\x12\x1a\n\x08dataSize\x18\x05\x20\x01(\x03R\x08dataS\ - ize\"F\n\x08IPLDLink\x12\x12\n\x04hash\x18\x01\x20\x01(\x0cR\x04hash\x12\ - \x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x12\x12\n\x04size\x18\x03\x20\ - \x01(\x04R\x04size\"B\n\x08IPLDNode\x12\"\n\x05links\x18\x02\x20\x03(\ - \x0b2\x0c.pb.IPLDLinkR\x05links\x12\x12\n\x04data\x18\x01\x20\x01(\x0cR\ - \x04data\"v\n\x0fKeystoreRequest\x12/\n\x0brequestType\x18\x01\x20\x01(\ - \x0e2\r.pb.KSREQTYPER\x0brequestType\x12\x12\n\x04name\x18\x02\x20\x01(\ - \tR\x04name\x12\x1e\n\nprivateKey\x18\x03\x20\x01(\x0cR\nprivateKey\"\ - \x91\x01\n\x10KeystoreResponse\x12/\n\x0brequestType\x18\x01\x20\x01(\ - \x0e2\r.pb.KSREQTYPER\x0brequestType\x12\x1e\n\nprivateKey\x18\x02\x20\ - \x01(\x0cR\nprivateKey\x12\x1a\n\x08keyNames\x18\x03\x20\x03(\tR\x08keyN\ - ames\x12\x10\n\x03has\x18\x04\x20\x01(\x08R\x03has\"\\\n\x0ePersistReque\ - st\x12\x12\n\x04cids\x18\x01\x20\x03(\tR\x04cids\x12\x14\n\x05refID\x18\ - \x02\x20\x01(\tR\x05refID\x12\x20\n\x0bprogressive\x18\x05\x20\x01(\x08R\ - \x0bprogressive\"\xf9\x01\n\x0fPersistResponse\x127\n\x06status\x18\x01\ - \x20\x03(\x0b2\x1f.pb.PersistResponse.StatusEntryR\x06status\x127\n\x06e\ - rrors\x18\x02\x20\x03(\x0b2\x1f.pb.PersistResponse.ErrorsEntryR\x06error\ - s\x1a9\n\x0bStatusEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\ - \x14\n\x05value\x18\x02\x20\x01(\x08R\x05value:\x028\x01\x1a9\n\x0bError\ - sEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\ - \x18\x02\x20\x01(\tR\x05value:\x028\x01*8\n\nP2PREQTYPE\x12\t\n\x05CLOSE\ - \x10\0\x12\x0b\n\x07FORWARD\x10\x01\x12\n\n\x06LISTEN\x10\x02\x12\x06\n\ - \x02LS\x10\x03*U\n\x0fCONNMGMTREQTYPE\x12\x0e\n\nCM_CONNECT\x10\0\x12\ - \x11\n\rCM_DISCONNECT\x10\x01\x12\r\n\tCM_STATUS\x10\x02\x12\x10\n\x0cCM\ - _GET_PEERS\x10\x03*.\n\rEXTRASREQTYPE\x12\r\n\tEX_ENABLE\x10\0\x12\x0e\n\ - \nEX_DISABLE\x10\x01*?\n\nEXTRASTYPE\x12\x0c\n\x08IDENTIFY\x10\0\x12\n\n\ - \x06PUBSUB\x10\x01\x12\r\n\tDISCOVERY\x10\x02\x12\x08\n\x04MDNS\x10\x03*\ - \xbb\x01\n\tBSREQTYPE\x12\r\n\tBS_DELETE\x10\0\x12\n\n\x06BS_PUT\x10\x01\ - \x12\x0f\n\x0bBS_PUT_MANY\x10\x02\x12\n\n\x06BS_GET\x10\x03\x12\x0f\n\ - \x0bBS_GET_MANY\x10\x04\x12\x0e\n\nBS_GET_ALL\x10\x05\x12\x10\n\x0cBS_GE\ - T_STATS\x10\x06\x12\n\n\x06BS_HAS\x10\x07\x12\x1a\n\x16BS_HASH_ON_READ_E\ - NABLE\x10\x08\x12\x1b\n\x17BS_HASH_ON_READ_DISABLE\x10\t*&\n\tBSREQOPTS\ - \x12\x0b\n\x07DEFAULT\x10\0\x12\x0c\n\x08BS_FORCE\x10\x01*|\n\nDAGREQTYP\ - E\x12\x0b\n\x07DAG_PUT\x10\0\x12\x0b\n\x07DAG_GET\x10\x01\x12\x10\n\x0cD\ - AG_NEW_NODE\x10\x02\x12\x11\n\rDAG_ADD_LINKS\x10\x03\x12\x11\n\rDAG_GET_\ - LINKS\x10\x04\x12\x0c\n\x08DAG_STAT\x10\x05\x12\x0e\n\nDAG_REMOVE\x10\ - \x06*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\x10\0\x12\n\n\x06KS_GET\x10\x01\ - \x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_DELETE\x10\x03\x12\x0b\n\x07KS_LI\ - ST\x10\x042\xb7\x03\n\x07NodeAPI\x127\n\x08ConnMgmt\x12\x13.pb.ConnMgmtR\ - equest\x1a\x14.pb.ConnMgmtResponse\"\0\x12(\n\x06Extras\x12\x11.pb.Extra\ - sRequest\x1a\t.pb.Empty\"\0\x12(\n\x03P2P\x12\x0e.pb.P2PRequest\x1a\x0f.\ - pb.P2PResponse\"\0\x12=\n\nBlockstore\x12\x15.pb.BlockstoreRequest\x1a\ - \x16.pb.BlockstoreResponse\"\0\x12G\n\x10BlockstoreStream\x12\x15.pb.Blo\ - ckstoreRequest\x1a\x16.pb.BlockstoreResponse\"\0(\x010\x01\x12(\n\x03Dag\ - \x12\x0e.pb.DagRequest\x1a\x0f.pb.DagResponse\"\0\x127\n\x08Keystore\x12\ - \x13.pb.KeystoreRequest\x1a\x14.pb.KeystoreResponse\"\0\x124\n\x07Persis\ - t\x12\x12.pb.PersistRequest\x1a\x13.pb.PersistResponse\"\0J\xc2\x8e\x01\ - \n\x07\x12\x05\0\0\x97\x03\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\ - \x01\x02\x12\x03\x01\x08\n\n\t\n\x02\x03\0\x12\x03\x02\x07\x13\nP\n\x02\ - \x06\0\x12\x04\x05\0\x19\x01\x1aD\x20NodeAPI\x20provide\x20an\x20API\x20\ - to\x20control\x20the\x20underlying\x20custom\x20ipfs\x20node\r\n\n\n\n\ - \x03\x06\0\x01\x12\x03\x05\x08\x0f\nA\n\x04\x06\0\x02\0\x12\x03\x07\x04@\ - \x1a4\x20ConnMgmt\x20provides\x20control\x20over\x20libp2p\x20connection\ - s\r\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\x07\x08\x10\n\x0c\n\x05\x06\0\ - \x02\0\x02\x12\x03\x07\x11\x20\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03\x07+;\ - \nD\n\x04\x06\0\x02\x01\x12\x03\t\x041\x1a7\x20Extras\x20provide\x20cont\ - rol\x20over\x20node\x20extras\x20capabilities\r\n\n\x0c\n\x05\x06\0\x02\ - \x01\x01\x12\x03\t\x08\x0e\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\t\x0f\ - \x1c\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t',\n\xe2\x01\n\x04\x06\0\x02\ - \x02\x12\x03\r\x041\x1a\xd4\x01\x20P2P\x20allows\x20control\x20of\x20gen\ - eralized\x20p2p\x20streams\x20for\x20tcp/udp\x20based\x20protocol.\r\n\ - \x20By\x20using\x20this\x20RPC,\x20we\x20can\x20tunnel\x20traffic\x20sim\ - ilar\x20to\x20ssh\x20tunneling\r\n\x20except\x20using\x20libp2p\x20as\ - \x20the\x20transport\x20layer,\x20and\x20and\x20tcp/udp\x20port.\r\n\n\ - \x0c\n\x05\x06\0\x02\x02\x01\x12\x03\r\x08\x0b\n\x0c\n\x05\x06\0\x02\x02\ - \x02\x12\x03\r\x0c\x16\n\x0c\n\x05\x06\0\x02\x02\x03\x12\x03\r!,\nS\n\ - \x04\x06\0\x02\x03\x12\x03\x0f\x04F\x1aF\x20Blockstore\x20allows\x20low-\ - level\x20management\x20of\x20the\x20underlying\x20blockstore\r\n\n\x0c\n\ - \x05\x06\0\x02\x03\x01\x12\x03\x0f\x08\x12\n\x0c\n\x05\x06\0\x02\x03\x02\ - \x12\x03\x0f\x13$\n\x0c\n\x05\x06\0\x02\x03\x03\x12\x03\x0f/A\n\x89\x01\ - \n\x04\x06\0\x02\x04\x12\x03\x12\x04Z\x1a|\x20BlockstoreStream\x20is\x20\ - akin\x20to\x20Blockstore,\x20except\x20streamable\r\n\x20Once\x20v4\x20i\ - s\x20out,\x20condense\x20this\x20+\x20blockstore\x20into\x20a\x20single\ - \x20call\r\n\n\x0c\n\x05\x06\0\x02\x04\x01\x12\x03\x12\x08\x18\n\x0c\n\ - \x05\x06\0\x02\x04\x05\x12\x03\x12\x19\x1f\n\x0c\n\x05\x06\0\x02\x04\x02\ - \x12\x03\x12\x201\n\x0c\n\x05\x06\0\x02\x04\x06\x12\x03\x12\x01\x1aS\x20P2PRequest\x20is\x20a\x20request\x20messa\ - ge\x20holding\x20the\x20details\x20of\x20a\x20particular\x20P2P\x20rpc\ - \x20call\r\n\n\n\n\x03\x04\0\x01\x12\x03(\x08\x12\n*\n\x04\x04\0\x02\0\ - \x12\x03*\x04\x1f\x1a\x1d\x20indicates\x20the\x20request\x20type\r\n\n\r\ - \n\x05\x04\0\x02\0\x04\x12\x04*\x04(\x14\n\x0c\n\x05\x04\0\x02\0\x06\x12\ - \x03*\x04\x0e\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03*\x0f\x1a\n\x0c\n\x05\ - \x04\0\x02\0\x03\x12\x03*\x1d\x1e\n)\n\x04\x04\0\x02\x01\x12\x03,\x04\ - \x11\x1a\x1c\x20used\x20by:\x20P2PREQTYPE.CLOSE\r\n\n\r\n\x05\x04\0\x02\ - \x01\x04\x12\x04,\x04*\x1f\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03,\x04\ - \x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03,\t\x0c\n\x0c\n\x05\x04\0\x02\ - \x01\x03\x12\x03,\x0f\x10\n&\n\x04\x04\0\x02\x02\x12\x03.\x04\x15\x1a\ - \x19\x20used\x20by:\x20P2PREQTYPE.LS\r\n\n\r\n\x05\x04\0\x02\x02\x04\x12\ - \x04.\x04,\x11\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03.\x04\x08\n\x0c\n\ - \x05\x04\0\x02\x02\x01\x12\x03.\t\x10\n\x0c\n\x05\x04\0\x02\x02\x03\x12\ - \x03.\x13\x14\nP\n\x04\x04\0\x02\x03\x12\x030\x04\x1c\x1aC\x20used\x20by\ - :\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD,\x20P2PREQTYPE.LISTEN\r\n\n\ - \r\n\x05\x04\0\x02\x03\x04\x12\x040\x04.\x15\n\x0c\n\x05\x04\0\x02\x03\ - \x05\x12\x030\x04\n\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x030\x0b\x17\n\x0c\ - \n\x05\x04\0\x02\x03\x03\x12\x030\x1a\x1b\n`\n\x04\x04\0\x02\x04\x12\x03\ - 3\x04\x1d\x1aS\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD\ - \r\n\x20must\x20be\x20specified\x20as\x20a\x20multiaddr\r\n\n\r\n\x05\ + \x12\x18\n\x07replace\x18\n\x20\x01(\x08R\x07replace\"h\n\x12BlockstoreR\ + esponse\x12/\n\x0brequestType\x18\x01\x20\x01(\x0e2\r.pb.BSREQTYPER\x0br\ + equestType\x12!\n\x06blocks\x18\x02\x20\x03(\x0b2\t.pb.BlockR\x06blocks\ + \"A\n\x05Block\x12\x10\n\x03cid\x18\x01\x20\x01(\tR\x03cid\x12\x12\n\x04\ + data\x18\x02\x20\x01(\x0cR\x04data\x12\x12\n\x04size\x18\x03\x20\x01(\ + \x03R\x04size\"\xb9\x03\n\nDagRequest\x120\n\x0brequestType\x18\x01\x20\ + \x01(\x0e2\x0e.pb.DAGREQTYPER\x0brequestType\x12\x12\n\x04data\x18\x02\ + \x20\x01(\x0cR\x04data\x12&\n\x0eobjectEncoding\x18\x03\x20\x01(\tR\x0eo\ + bjectEncoding\x120\n\x13serializationFormat\x18\x04\x20\x01(\tR\x13seria\ + lizationFormat\x12\x1a\n\x08hashFunc\x18\x05\x20\x01(\tR\x08hashFunc\x12\ + \x1e\n\ncidVersion\x18\x06\x20\x01(\x03R\ncidVersion\x12\x12\n\x04hash\ + \x18\x07\x20\x01(\tR\x04hash\x12/\n\x05links\x18\x08\x20\x03(\x0b2\x19.p\ + b.DagRequest.LinksEntryR\x05links\x12\x14\n\x05refID\x18\t\x20\x01(\tR\ + \x05refID\x12\x20\n\x0bprogressive\x18\n\x20\x01(\x08R\x0bprogressive\ + \x12\x18\n\x07replace\x18\x0b\x20\x01(\x08R\x07replace\x1a8\n\nLinksEntr\ + y\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\ + \x20\x01(\tR\x05value:\x028\x01\"\xb5\x02\n\x0bDagResponse\x120\n\x0breq\ + uestType\x18\x01\x20\x01(\x0e2\x0e.pb.DAGREQTYPER\x0brequestType\x12\x16\ + \n\x06hashes\x18\x02\x20\x03(\tR\x06hashes\x12\x18\n\x07rawData\x18\x03\ + \x20\x01(\x0cR\x07rawData\x12\"\n\x05links\x18\x04\x20\x03(\x0b2\x0c.pb.\ + IPLDLinkR\x05links\x12<\n\tnodeStats\x18\x05\x20\x03(\x0b2\x1e.pb.DagRes\ + ponse.NodeStatsEntryR\tnodeStats\x12\x14\n\x05count\x18\x06\x20\x01(\x04\ + R\x05count\x1aJ\n\x0eNodeStatsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\ + \x03key\x12\"\n\x05value\x18\x02\x20\x01(\x0b2\x0c.pb.IPLDStatR\x05value\ + :\x028\x01\"\xa4\x01\n\x08IPLDStat\x12\x1a\n\x08numLinks\x18\x01\x20\x01\ + (\x03R\x08numLinks\x12\x1c\n\tblockSize\x18\x02\x20\x01(\x03R\tblockSize\ + \x12\x1a\n\x08linkSize\x18\x03\x20\x01(\x03R\x08linkSize\x12&\n\x0ecumul\ + ativeSize\x18\x04\x20\x01(\x03R\x0ecumulativeSize\x12\x1a\n\x08dataSize\ + \x18\x05\x20\x01(\x03R\x08dataSize\"F\n\x08IPLDLink\x12\x12\n\x04hash\ + \x18\x01\x20\x01(\x0cR\x04hash\x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04\ + name\x12\x12\n\x04size\x18\x03\x20\x01(\x04R\x04size\"B\n\x08IPLDNode\ + \x12\"\n\x05links\x18\x02\x20\x03(\x0b2\x0c.pb.IPLDLinkR\x05links\x12\ + \x12\n\x04data\x18\x01\x20\x01(\x0cR\x04data\"v\n\x0fKeystoreRequest\x12\ + /\n\x0brequestType\x18\x01\x20\x01(\x0e2\r.pb.KSREQTYPER\x0brequestType\ + \x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x12\x1e\n\nprivateKey\x18\ + \x03\x20\x01(\x0cR\nprivateKey\"\x91\x01\n\x10KeystoreResponse\x12/\n\ + \x0brequestType\x18\x01\x20\x01(\x0e2\r.pb.KSREQTYPER\x0brequestType\x12\ + \x1e\n\nprivateKey\x18\x02\x20\x01(\x0cR\nprivateKey\x12\x1a\n\x08keyNam\ + es\x18\x03\x20\x03(\tR\x08keyNames\x12\x10\n\x03has\x18\x04\x20\x01(\x08\ + R\x03has\"\\\n\x0ePersistRequest\x12\x12\n\x04cids\x18\x01\x20\x03(\tR\ + \x04cids\x12\x14\n\x05refID\x18\x02\x20\x01(\tR\x05refID\x12\x20\n\x0bpr\ + ogressive\x18\x05\x20\x01(\x08R\x0bprogressive\"\xf9\x01\n\x0fPersistRes\ + ponse\x127\n\x06status\x18\x01\x20\x03(\x0b2\x1f.pb.PersistResponse.Stat\ + usEntryR\x06status\x127\n\x06errors\x18\x02\x20\x03(\x0b2\x1f.pb.Persist\ + Response.ErrorsEntryR\x06errors\x1a9\n\x0bStatusEntry\x12\x10\n\x03key\ + \x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\x08R\x05\ + value:\x028\x01\x1a9\n\x0bErrorsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\ + \tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01*8\n\ + \nP2PREQTYPE\x12\t\n\x05CLOSE\x10\0\x12\x0b\n\x07FORWARD\x10\x01\x12\n\n\ + \x06LISTEN\x10\x02\x12\x06\n\x02LS\x10\x03*U\n\x0fCONNMGMTREQTYPE\x12\ + \x0e\n\nCM_CONNECT\x10\0\x12\x11\n\rCM_DISCONNECT\x10\x01\x12\r\n\tCM_ST\ + ATUS\x10\x02\x12\x10\n\x0cCM_GET_PEERS\x10\x03*.\n\rEXTRASREQTYPE\x12\r\ + \n\tEX_ENABLE\x10\0\x12\x0e\n\nEX_DISABLE\x10\x01*?\n\nEXTRASTYPE\x12\ + \x0c\n\x08IDENTIFY\x10\0\x12\n\n\x06PUBSUB\x10\x01\x12\r\n\tDISCOVERY\ + \x10\x02\x12\x08\n\x04MDNS\x10\x03*\xbb\x01\n\tBSREQTYPE\x12\r\n\tBS_DEL\ + ETE\x10\0\x12\n\n\x06BS_PUT\x10\x01\x12\x0f\n\x0bBS_PUT_MANY\x10\x02\x12\ + \n\n\x06BS_GET\x10\x03\x12\x0f\n\x0bBS_GET_MANY\x10\x04\x12\x0e\n\nBS_GE\ + T_ALL\x10\x05\x12\x10\n\x0cBS_GET_STATS\x10\x06\x12\n\n\x06BS_HAS\x10\ + \x07\x12\x1a\n\x16BS_HASH_ON_READ_ENABLE\x10\x08\x12\x1b\n\x17BS_HASH_ON\ + _READ_DISABLE\x10\t*&\n\tBSREQOPTS\x12\x0b\n\x07DEFAULT\x10\0\x12\x0c\n\ + \x08BS_FORCE\x10\x01*|\n\nDAGREQTYPE\x12\x0b\n\x07DAG_PUT\x10\0\x12\x0b\ + \n\x07DAG_GET\x10\x01\x12\x10\n\x0cDAG_NEW_NODE\x10\x02\x12\x11\n\rDAG_A\ + DD_LINKS\x10\x03\x12\x11\n\rDAG_GET_LINKS\x10\x04\x12\x0c\n\x08DAG_STAT\ + \x10\x05\x12\x0e\n\nDAG_REMOVE\x10\x06*K\n\tKSREQTYPE\x12\n\n\x06KS_HAS\ + \x10\0\x12\n\n\x06KS_GET\x10\x01\x12\n\n\x06KS_PUT\x10\x02\x12\r\n\tKS_D\ + ELETE\x10\x03\x12\x0b\n\x07KS_LIST\x10\x042\xb7\x03\n\x07NodeAPI\x127\n\ + \x08ConnMgmt\x12\x13.pb.ConnMgmtRequest\x1a\x14.pb.ConnMgmtResponse\"\0\ + \x12(\n\x06Extras\x12\x11.pb.ExtrasRequest\x1a\t.pb.Empty\"\0\x12(\n\x03\ + P2P\x12\x0e.pb.P2PRequest\x1a\x0f.pb.P2PResponse\"\0\x12=\n\nBlockstore\ + \x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreResponse\"\0\x12G\n\ + \x10BlockstoreStream\x12\x15.pb.BlockstoreRequest\x1a\x16.pb.BlockstoreR\ + esponse\"\0(\x010\x01\x12(\n\x03Dag\x12\x0e.pb.DagRequest\x1a\x0f.pb.Dag\ + Response\"\0\x127\n\x08Keystore\x12\x13.pb.KeystoreRequest\x1a\x14.pb.Ke\ + ystoreResponse\"\0\x124\n\x07Persist\x12\x12.pb.PersistRequest\x1a\x13.p\ + b.PersistResponse\"\0J\x9e\x8f\x01\n\x07\x12\x05\0\0\x9b\x03\x01\n\x08\n\ + \x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\n\t\n\x02\x03\ + \0\x12\x03\x02\x07\x13\nO\n\x02\x06\0\x12\x04\x05\0\x19\x01\x1aC\x20Node\ + API\x20provide\x20an\x20API\x20to\x20control\x20the\x20underlying\x20cus\ + tom\x20ipfs\x20node\n\n\n\n\x03\x06\0\x01\x12\x03\x05\x08\x0f\n@\n\x04\ + \x06\0\x02\0\x12\x03\x07\x04@\x1a3\x20ConnMgmt\x20provides\x20control\ + \x20over\x20libp2p\x20connections\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03\ + \x07\x08\x10\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x07\x11\x20\n\x0c\n\x05\ + \x06\0\x02\0\x03\x12\x03\x07+;\nC\n\x04\x06\0\x02\x01\x12\x03\t\x041\x1a\ + 6\x20Extras\x20provide\x20control\x20over\x20node\x20extras\x20capabilit\ + ies\n\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x03\t\x08\x0e\n\x0c\n\x05\x06\0\ + \x02\x01\x02\x12\x03\t\x0f\x1c\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03\t',\ + \n\xdf\x01\n\x04\x06\0\x02\x02\x12\x03\r\x041\x1a\xd1\x01\x20P2P\x20allo\ + ws\x20control\x20of\x20generalized\x20p2p\x20streams\x20for\x20tcp/udp\ + \x20based\x20protocol.\n\x20By\x20using\x20this\x20RPC,\x20we\x20can\x20\ + tunnel\x20traffic\x20similar\x20to\x20ssh\x20tunneling\n\x20except\x20us\ + ing\x20libp2p\x20as\x20the\x20transport\x20layer,\x20and\x20and\x20tcp/u\ + dp\x20port.\n\n\x0c\n\x05\x06\0\x02\x02\x01\x12\x03\r\x08\x0b\n\x0c\n\ + \x05\x06\0\x02\x02\x02\x12\x03\r\x0c\x16\n\x0c\n\x05\x06\0\x02\x02\x03\ + \x12\x03\r!,\nR\n\x04\x06\0\x02\x03\x12\x03\x0f\x04F\x1aE\x20Blockstore\ + \x20allows\x20low-level\x20management\x20of\x20the\x20underlying\x20bloc\ + kstore\n\n\x0c\n\x05\x06\0\x02\x03\x01\x12\x03\x0f\x08\x12\n\x0c\n\x05\ + \x06\0\x02\x03\x02\x12\x03\x0f\x13$\n\x0c\n\x05\x06\0\x02\x03\x03\x12\ + \x03\x0f/A\n\x87\x01\n\x04\x06\0\x02\x04\x12\x03\x12\x04Z\x1az\x20Blocks\ + toreStream\x20is\x20akin\x20to\x20Blockstore,\x20except\x20streamable\n\ + \x20Once\x20v4\x20is\x20out,\x20condense\x20this\x20+\x20blockstore\x20i\ + nto\x20a\x20single\x20call\n\n\x0c\n\x05\x06\0\x02\x04\x01\x12\x03\x12\ + \x08\x18\n\x0c\n\x05\x06\0\x02\x04\x05\x12\x03\x12\x19\x1f\n\x0c\n\x05\ + \x06\0\x02\x04\x02\x12\x03\x12\x201\n\x0c\n\x05\x06\0\x02\x04\x06\x12\ + \x03\x12\x01\x1aR\x20P2PRequest\x20is\x20a\x20reque\ + st\x20message\x20holding\x20the\x20details\x20of\x20a\x20particular\x20P\ + 2P\x20rpc\x20call\n\n\n\n\x03\x04\0\x01\x12\x03(\x08\x12\n)\n\x04\x04\0\ + \x02\0\x12\x03*\x04\x1f\x1a\x1c\x20indicates\x20the\x20request\x20type\n\ + \n\r\n\x05\x04\0\x02\0\x04\x12\x04*\x04(\x14\n\x0c\n\x05\x04\0\x02\0\x06\ + \x12\x03*\x04\x0e\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03*\x0f\x1a\n\x0c\n\ + \x05\x04\0\x02\0\x03\x12\x03*\x1d\x1e\n(\n\x04\x04\0\x02\x01\x12\x03,\ + \x04\x11\x1a\x1b\x20used\x20by:\x20P2PREQTYPE.CLOSE\n\n\r\n\x05\x04\0\ + \x02\x01\x04\x12\x04,\x04*\x1f\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03,\ + \x04\x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03,\t\x0c\n\x0c\n\x05\x04\0\ + \x02\x01\x03\x12\x03,\x0f\x10\n%\n\x04\x04\0\x02\x02\x12\x03.\x04\x15\ + \x1a\x18\x20used\x20by:\x20P2PREQTYPE.LS\n\n\r\n\x05\x04\0\x02\x02\x04\ + \x12\x04.\x04,\x11\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03.\x04\x08\n\x0c\ + \n\x05\x04\0\x02\x02\x01\x12\x03.\t\x10\n\x0c\n\x05\x04\0\x02\x02\x03\ + \x12\x03.\x13\x14\nO\n\x04\x04\0\x02\x03\x12\x030\x04\x1c\x1aB\x20used\ + \x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD,\x20P2PREQTYPE.LISTEN\ + \n\n\r\n\x05\x04\0\x02\x03\x04\x12\x040\x04.\x15\n\x0c\n\x05\x04\0\x02\ + \x03\x05\x12\x030\x04\n\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x030\x0b\x17\n\ + \x0c\n\x05\x04\0\x02\x03\x03\x12\x030\x1a\x1b\n^\n\x04\x04\0\x02\x04\x12\ + \x033\x04\x1d\x1aQ\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FOR\ + WARD\n\x20must\x20be\x20specified\x20as\x20a\x20multiaddr\n\n\r\n\x05\ \x04\0\x02\x04\x04\x12\x043\x040\x1c\n\x0c\n\x05\x04\0\x02\x04\x05\x12\ \x033\x04\n\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x033\x0b\x18\n\x0c\n\x05\ - \x04\0\x02\x04\x03\x12\x033\x1b\x1c\n`\n\x04\x04\0\x02\x05\x12\x036\x04\ - \x1d\x1aS\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD\r\n\ - \x20must\x20be\x20specified\x20as\x20a\x20multiaddr\r\n\n\r\n\x05\x04\0\ + \x04\0\x02\x04\x03\x12\x033\x1b\x1c\n^\n\x04\x04\0\x02\x05\x12\x036\x04\ + \x1d\x1aQ\x20used\x20by:\x20P2PREQTYPE.CLOSE,\x20P2PREQTYPE.FORWARD\n\ + \x20must\x20be\x20specified\x20as\x20a\x20multiaddr\n\n\r\n\x05\x04\0\ \x02\x05\x04\x12\x046\x043\x1d\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x036\ \x04\n\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x036\x0b\x18\n\x0c\n\x05\x04\0\ - \x02\x05\x03\x12\x036\x1b\x1c\nM\n\x04\x04\0\x02\x06\x12\x039\x04\x1d\ - \x1a@\x20used\x20by:\x20P2PREQTYPE.LISTEN\r\n\x20must\x20be\x20specified\ - \x20as\x20a\x20multiaddr\r\n\n\r\n\x05\x04\0\x02\x06\x04\x12\x049\x046\ - \x1d\n\x0c\n\x05\x04\0\x02\x06\x05\x12\x039\x04\n\n\x0c\n\x05\x04\0\x02\ - \x06\x01\x12\x039\x0b\x18\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x039\x1b\x1c\ - \n>\n\x04\x04\0\x02\x07\x12\x03;\x04\"\x1a1\x20used\x20by:\x20P2PREQTYPE\ - .LISTEN,\x20P2PREQTYPE.FORWARD\r\n\n\r\n\x05\x04\0\x02\x07\x04\x12\x04;\ - \x049\x1d\n\x0c\n\x05\x04\0\x02\x07\x05\x12\x03;\x04\x08\n\x0c\n\x05\x04\ - \0\x02\x07\x01\x12\x03;\t\x1d\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03;\x20\ - !\n*\n\x04\x04\0\x02\x08\x12\x03=\x04\x1a\x1a\x1d\x20used\x20by:\x20P2PR\ - EQTYPE.LISTEN\r\n\n\r\n\x05\x04\0\x02\x08\x04\x12\x04=\x04;\"\n\x0c\n\ - \x05\x04\0\x02\x08\x05\x12\x03=\x04\x08\n\x0c\n\x05\x04\0\x02\x08\x01\ - \x12\x03=\t\x15\n\x0c\n\x05\x04\0\x02\x08\x03\x12\x03=\x18\x19\nY\n\x02\ - \x04\x01\x12\x04A\0I\x01\x1aM\x20P2PResponse\x20is\x20a\x20response\x20m\ - essage\x20sent\x20in\x20response\x20to\x20a\x20P2PRequest\x20message\r\n\ - \n\n\n\x03\x04\x01\x01\x12\x03A\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\ - \x03B\x04\x1f\n\r\n\x05\x04\x01\x02\0\x04\x12\x04B\x04A\x15\n\x0c\n\x05\ - \x04\x01\x02\0\x06\x12\x03B\x04\x0e\n\x0c\n\x05\x04\x01\x02\0\x01\x12\ - \x03B\x0f\x1a\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03B\x1d\x1e\n*\n\x04\ - \x04\x01\x02\x01\x12\x03D\x04\x1e\x1a\x1d\x20sent\x20by:\x20P2PREQTYPE.L\ - ISTEN\r\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03D\x04\x0c\n\x0c\n\x05\ - \x04\x01\x02\x01\x05\x12\x03D\r\x13\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\ - \x03D\x14\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03D\x1c\x1d\nV\n\x04\ - \x04\x01\x02\x02\x12\x03F\x04\x1a\x1aI\x20sent\x20by:\x20P2PREQTYPE.CLOS\ - E\x20to\x20indicate\x20the\x20number\x20of\x20connections\x20closed\r\n\ - \n\r\n\x05\x04\x01\x02\x02\x04\x12\x04F\x04D\x1e\n\x0c\n\x05\x04\x01\x02\ - \x02\x05\x12\x03F\x04\t\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03F\n\x15\n\ - \x0c\n\x05\x04\x01\x02\x02\x03\x12\x03F\x18\x19\nP\n\x04\x04\x01\x02\x03\ - \x12\x03H\x04'\x1aC\x20sent\x20by:\x20P2PREQTYPE.LS\x20and\x20contains\ - \x20all\x20known\x20stream\x20information\r\n\n\x0c\n\x05\x04\x01\x02\ - \x03\x04\x12\x03H\x04\x0c\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03H\r\x16\ - \n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03H\x17\"\n\x0c\n\x05\x04\x01\x02\ - \x03\x03\x12\x03H%&\nG\n\x02\x04\x02\x12\x04L\0R\x01\x1a;\x20P2PLsInfo\ - \x20contains\x20information\x20about\x20a\x20single\x20p2p\x20stream\r\n\ - \n\n\n\x03\x04\x02\x01\x12\x03L\x08\x11\n\x0b\n\x04\x04\x02\x02\0\x12\ - \x03M\x04\x1c\n\r\n\x05\x04\x02\x02\0\x04\x12\x04M\x04L\x13\n\x0c\n\x05\ - \x04\x02\x02\0\x05\x12\x03M\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03M\ - \x0b\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03M\x1a\x1b\n\x0b\n\x04\x04\ - \x02\x02\x01\x12\x03N\x04\x1d\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04N\x04\ - M\x1c\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03N\x04\n\n\x0c\n\x05\x04\x02\ - \x02\x01\x01\x12\x03N\x0b\x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03N\ - \x1b\x1c\n\x0b\n\x04\x04\x02\x02\x02\x12\x03O\x04\x1d\n\r\n\x05\x04\x02\ - \x02\x02\x04\x12\x04O\x04N\x1d\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03O\ - \x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03O\x0b\x18\n\x0c\n\x05\x04\ - \x02\x02\x02\x03\x12\x03O\x1b\x1c\nQ\n\x04\x04\x02\x02\x03\x12\x03Q\x04\ - \x13\x1aD\x20indicates\x20whether\x20or\x20not\x20this\x20is\x20a\x20p2p\ - \x20listener\x20or\x20local\x20listener\r\n\n\r\n\x05\x04\x02\x02\x03\ - \x04\x12\x04Q\x04O\x1d\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03Q\x04\x08\ - \n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03Q\t\x0e\n\x0c\n\x05\x04\x02\x02\ - \x03\x03\x12\x03Q\x11\x12\nX\n\x02\x04\x03\x12\x04U\0X\x01\x1aL\x20GetPe\ - ersResponse\x20is\x20a\x20response\x20to\x20GetPeers\x20containing\x20a\ - \x20slice\x20of\x20peer\x20IDs\r\n\n\n\n\x03\x04\x03\x01\x12\x03U\x08\ - \x18\n#\n\x04\x04\x03\x02\0\x12\x03W\x04\x20\x1a\x16\x20a\x20slice\x20of\ - \x20peer\x20IDs\r\n\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03W\x04\x0c\n\x0c\ - \n\x05\x04\x03\x02\0\x05\x12\x03W\r\x13\n\x0c\n\x05\x04\x03\x02\0\x01\ - \x12\x03W\x14\x1b\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03W\x1e\x1f\nX\n\ - \x02\x05\x01\x12\x04[\0e\x01\x1aL\x20CONNMGMTREQTYPE\x20indicates\x20the\ - \x20particular\x20ConnMgmt\x20request\x20being\x20performed\r\n\n\n\n\ - \x03\x05\x01\x01\x12\x03[\x05\x14\n>\n\x04\x05\x01\x02\0\x12\x03]\x04\ - \x13\x1a1\x20CM_CONNECT\x20is\x20used\x20to\x20connect\x20to\x20a\x20lib\ - p2p\x20peer\r\n\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03]\x04\x0e\n\x0c\n\ - \x05\x05\x01\x02\0\x02\x12\x03]\x11\x12\nF\n\x04\x05\x01\x02\x01\x12\x03\ - _\x04\x16\x1a9\x20CM_DISCONNECT\x20is\x20used\x20to\x20disconnect\x20fro\ - m\x20a\x20libp2p\x20peer\r\n\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03_\ - \x04\x11\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03_\x14\x15\n\xa1\x01\n\ - \x04\x05\x01\x02\x02\x12\x03b\x04\x12\x1a\x93\x01\x20CM_STATUS\x20is\x20\ - used\x20to\x20return\x20status\x20information\x20about\x20libp2p\x20peer\ - \x20connections\r\n\x20useful\x20for\x20determining\x20whether\x20or\x20\ - not\x20we\x20are\x20connected\x20to\x20someone\r\n\n\x0c\n\x05\x05\x01\ - \x02\x02\x01\x12\x03b\x04\r\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03b\x10\ - \x11\n=\n\x04\x05\x01\x02\x03\x12\x03d\x04\x15\x1a0CM_GET_PEERS\x20is\ - \x20used\x20to\x20return\x20all\x20known\x20peers\r\n\n\x0c\n\x05\x05\ - \x01\x02\x03\x01\x12\x03d\x04\x10\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\ - \x03d\x13\x14\n\n\n\x02\x04\x04\x12\x04g\0p\x01\n\n\n\x03\x04\x04\x01\ - \x12\x03g\x08\x17\nV\n\x04\x04\x04\x02\0\x12\x03i\x04$\x1aI\x20indicates\ - \x20the\x20particular\x20connection\x20management\x20request\x20being\ - \x20performed\r\n\n\r\n\x05\x04\x04\x02\0\x04\x12\x04i\x04g\x19\n\x0c\n\ - \x05\x04\x04\x02\0\x06\x12\x03i\x04\x13\n\x0c\n\x05\x04\x04\x02\0\x01\ - \x12\x03i\x14\x1f\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03i\"#\n:\n\x04\x04\ - \x04\x02\x01\x12\x03l\x04#\x1a-\x20a\x20list\x20of\x20multiaddrs\r\n\x20\ - sent\x20by:\x20CM_CONNECT\r\n\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\x03l\ - \x04\x0c\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03l\r\x13\n\x0c\n\x05\x04\ - \x04\x02\x01\x01\x12\x03l\x14\x1e\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\ - \x03l!\"\nT\n\x04\x04\x04\x02\x02\x12\x03o\x04\x20\x1aG\x20a\x20list\x20\ - of\x20peer\x20IDs\r\n\x20sent\x20by:\x20CM_DISCONNECT,\x20CM_STATUS,\x20\ - CM_GET_PEERS\r\n\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03o\x04\x0c\n\x0c\ - \n\x05\x04\x04\x02\x02\x05\x12\x03o\r\x13\n\x0c\n\x05\x04\x04\x02\x02\ - \x01\x12\x03o\x14\x1b\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03o\x1e\x1f\n\ - \n\n\x02\x04\x05\x12\x04r\0y\x01\n\n\n\x03\x04\x05\x01\x12\x03r\x08\x18\ - \nV\n\x04\x04\x05\x02\0\x12\x03t\x04$\x1aI\x20indicates\x20the\x20partic\ - ular\x20connection\x20management\x20request\x20being\x20performed\r\n\n\ - \r\n\x05\x04\x05\x02\0\x04\x12\x04t\x04r\x1a\n\x0c\n\x05\x04\x05\x02\0\ - \x06\x12\x03t\x04\x13\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03t\x14\x1f\n\ - \x0c\n\x05\x04\x05\x02\0\x03\x12\x03t\"#\n\x0b\n\x04\x04\x05\x02\x01\x12\ - \x03u\x04$\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04u\x04t$\n\x0c\n\x05\x04\ - \x05\x02\x01\x06\x12\x03u\x04\x15\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\ - \x03u\x16\x1f\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03u\"#\ni\n\x04\x04\ - \x05\x02\x02\x12\x03w\x04+\x1a\\\x20a\x20map\x20of\x20the\x20peer\x20id,\ - \x20and\x20a\x20custom\x20message\x20indicating\x20success,\x20or\x20why\ - \x20there\x20was\x20a\x20failure\r\n\n\r\n\x05\x04\x05\x02\x02\x04\x12\ - \x04w\x04u$\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03w\x04\x1f\n\x0c\n\x05\ - \x04\x05\x02\x02\x01\x12\x03w\x20&\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\ - \x03w)*\n\x0b\n\x04\x04\x05\x02\x03\x12\x03x\x04\x20\n\x0c\n\x05\x04\x05\ - \x02\x03\x04\x12\x03x\x04\x0c\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\x03x\r\ - \x13\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03x\x14\x1b\n\x0c\n\x05\x04\ - \x05\x02\x03\x03\x12\x03x\x1e\x1f\nQ\n\x02\x04\x06\x12\x05|\0\x81\x01\ - \x01\x1aD\x20Contains\x20status\x20information\x20about\x20a\x20particul\ - ar\x20disconnect\x20attempt\r\n\n\n\n\x03\x04\x06\x01\x12\x03|\x08\x16\n\ - @\n\x04\x04\x06\x02\0\x12\x03~\x04\x1a\x1a3\x20indicate\x20whether\x20or\ - \x20not\x20we\x20actually\x20disconnected\r\n\n\r\n\x05\x04\x06\x02\0\ - \x04\x12\x04~\x04|\x18\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03~\x04\x08\n\ - \x0c\n\x05\x04\x06\x02\0\x01\x12\x03~\t\x15\n\x0c\n\x05\x04\x06\x02\0\ - \x03\x12\x03~\x18\x19\nE\n\x04\x04\x06\x02\x01\x12\x04\x80\x01\x04\x16\ - \x1a7\x20if\x20disconnected\x20is\x20false,\x20the\x20reason\x20why\x20i\ - t\x20is\x20false\r\n\n\x0e\n\x05\x04\x06\x02\x01\x04\x12\x05\x80\x01\x04\ - ~\x1a\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\x80\x01\x04\n\n\r\n\x05\x04\ - \x06\x02\x01\x01\x12\x04\x80\x01\x0b\x11\n\r\n\x05\x04\x06\x02\x01\x03\ - \x12\x04\x80\x01\x14\x15\nV\n\x02\x05\x02\x12\x06\x84\x01\0\x89\x01\x01\ - \x1aH\x20EXTRASREQTYPE\x20indicates\x20the\x20particular\x20Extras\x20re\ - quest\x20being\x20performed\r\n\n\x0b\n\x03\x05\x02\x01\x12\x04\x84\x01\ - \x05\x12\nM\n\x04\x05\x02\x02\0\x12\x04\x86\x01\x04\x12\x1a?\x20EX_ENABL\ - E\x20is\x20used\x20to\x20enable\x20a\x20particular\x20node\x20extras\x20\ - feature\r\n\n\r\n\x05\x05\x02\x02\0\x01\x12\x04\x86\x01\x04\r\n\r\n\x05\ - \x05\x02\x02\0\x02\x12\x04\x86\x01\x10\x11\nO\n\x04\x05\x02\x02\x01\x12\ - \x04\x88\x01\x04\x13\x1aA\x20EX_DISABLE\x20is\x20used\x20to\x20disable\ - \x20a\x20particular\x20node\x20extras\x20feature\r\n\n\r\n\x05\x05\x02\ - \x02\x01\x01\x12\x04\x88\x01\x04\x0e\n\r\n\x05\x05\x02\x02\x01\x02\x12\ - \x04\x88\x01\x11\x12\n<\n\x02\x05\x03\x12\x06\x8c\x01\0\x95\x01\x01\x1a.\ - \x20EXTRASTYPE\x20denotes\x20a\x20particular\x20extras\x20type\r\n\n\x0b\ - \n\x03\x05\x03\x01\x12\x04\x8c\x01\x05\x0f\n1\n\x04\x05\x03\x02\0\x12\ - \x04\x8e\x01\x04\x11\x1a#\x20IDENTIFY\x20is\x20the\x20identify\x20servic\ - e\r\n\n\r\n\x05\x05\x03\x02\0\x01\x12\x04\x8e\x01\x04\x0c\n\r\n\x05\x05\ - \x03\x02\0\x02\x12\x04\x8e\x01\x0f\x10\n3\n\x04\x05\x03\x02\x01\x12\x04\ - \x90\x01\x04\x0f\x1a%\x20PUBSUB\x20is\x20the\x20libp2p\x20pubsub\x20syst\ - em\r\n\n\r\n\x05\x05\x03\x02\x01\x01\x12\x04\x90\x01\x04\n\n\r\n\x05\x05\ - \x03\x02\x01\x02\x12\x04\x90\x01\r\x0e\n8\n\x04\x05\x03\x02\x02\x12\x04\ - \x92\x01\x04\x12\x1a*\x20DISCOVERY\x20is\x20a\x20libp2p\x20discovery\x20\ - service\r\n\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\x92\x01\x04\r\n\r\n\ - \x05\x05\x03\x02\x02\x02\x12\x04\x92\x01\x10\x11\n@\n\x04\x05\x03\x02\ - \x03\x12\x04\x94\x01\x04\r\x1a2\x20MDNS\x20is\x20used\x20to\x20discover\ - \x20libp2p\x20hosts\x20over\x20mdns\r\n\n\r\n\x05\x05\x03\x02\x03\x01\ + \x02\x05\x03\x12\x036\x1b\x1c\nK\n\x04\x04\0\x02\x06\x12\x039\x04\x1d\ + \x1a>\x20used\x20by:\x20P2PREQTYPE.LISTEN\n\x20must\x20be\x20specified\ + \x20as\x20a\x20multiaddr\n\n\r\n\x05\x04\0\x02\x06\x04\x12\x049\x046\x1d\ + \n\x0c\n\x05\x04\0\x02\x06\x05\x12\x039\x04\n\n\x0c\n\x05\x04\0\x02\x06\ + \x01\x12\x039\x0b\x18\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x039\x1b\x1c\n=\ + \n\x04\x04\0\x02\x07\x12\x03;\x04\"\x1a0\x20used\x20by:\x20P2PREQTYPE.LI\ + STEN,\x20P2PREQTYPE.FORWARD\n\n\r\n\x05\x04\0\x02\x07\x04\x12\x04;\x049\ + \x1d\n\x0c\n\x05\x04\0\x02\x07\x05\x12\x03;\x04\x08\n\x0c\n\x05\x04\0\ + \x02\x07\x01\x12\x03;\t\x1d\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03;\x20!\ + \n)\n\x04\x04\0\x02\x08\x12\x03=\x04\x1a\x1a\x1c\x20used\x20by:\x20P2PRE\ + QTYPE.LISTEN\n\n\r\n\x05\x04\0\x02\x08\x04\x12\x04=\x04;\"\n\x0c\n\x05\ + \x04\0\x02\x08\x05\x12\x03=\x04\x08\n\x0c\n\x05\x04\0\x02\x08\x01\x12\ + \x03=\t\x15\n\x0c\n\x05\x04\0\x02\x08\x03\x12\x03=\x18\x19\nX\n\x02\x04\ + \x01\x12\x04A\0I\x01\x1aL\x20P2PResponse\x20is\x20a\x20response\x20messa\ + ge\x20sent\x20in\x20response\x20to\x20a\x20P2PRequest\x20message\n\n\n\n\ + \x03\x04\x01\x01\x12\x03A\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\x03B\x04\ + \x1f\n\r\n\x05\x04\x01\x02\0\x04\x12\x04B\x04A\x15\n\x0c\n\x05\x04\x01\ + \x02\0\x06\x12\x03B\x04\x0e\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03B\x0f\ + \x1a\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03B\x1d\x1e\n)\n\x04\x04\x01\x02\ + \x01\x12\x03D\x04\x1e\x1a\x1c\x20sent\x20by:\x20P2PREQTYPE.LISTEN\n\n\ + \x0c\n\x05\x04\x01\x02\x01\x04\x12\x03D\x04\x0c\n\x0c\n\x05\x04\x01\x02\ + \x01\x05\x12\x03D\r\x13\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03D\x14\x19\ + \n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03D\x1c\x1d\nU\n\x04\x04\x01\x02\ + \x02\x12\x03F\x04\x1a\x1aH\x20sent\x20by:\x20P2PREQTYPE.CLOSE\x20to\x20i\ + ndicate\x20the\x20number\x20of\x20connections\x20closed\n\n\r\n\x05\x04\ + \x01\x02\x02\x04\x12\x04F\x04D\x1e\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\ + \x03F\x04\t\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03F\n\x15\n\x0c\n\x05\ + \x04\x01\x02\x02\x03\x12\x03F\x18\x19\nO\n\x04\x04\x01\x02\x03\x12\x03H\ + \x04'\x1aB\x20sent\x20by:\x20P2PREQTYPE.LS\x20and\x20contains\x20all\x20\ + known\x20stream\x20information\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03\ + H\x04\x0c\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03H\r\x16\n\x0c\n\x05\x04\ + \x01\x02\x03\x01\x12\x03H\x17\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03H\ + %&\nF\n\x02\x04\x02\x12\x04L\0R\x01\x1a:\x20P2PLsInfo\x20contains\x20inf\ + ormation\x20about\x20a\x20single\x20p2p\x20stream\n\n\n\n\x03\x04\x02\ + \x01\x12\x03L\x08\x11\n\x0b\n\x04\x04\x02\x02\0\x12\x03M\x04\x1c\n\r\n\ + \x05\x04\x02\x02\0\x04\x12\x04M\x04L\x13\n\x0c\n\x05\x04\x02\x02\0\x05\ + \x12\x03M\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03M\x0b\x17\n\x0c\n\ + \x05\x04\x02\x02\0\x03\x12\x03M\x1a\x1b\n\x0b\n\x04\x04\x02\x02\x01\x12\ + \x03N\x04\x1d\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04N\x04M\x1c\n\x0c\n\ + \x05\x04\x02\x02\x01\x05\x12\x03N\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\ + \x12\x03N\x0b\x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03N\x1b\x1c\n\x0b\ + \n\x04\x04\x02\x02\x02\x12\x03O\x04\x1d\n\r\n\x05\x04\x02\x02\x02\x04\ + \x12\x04O\x04N\x1d\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03O\x04\n\n\x0c\ + \n\x05\x04\x02\x02\x02\x01\x12\x03O\x0b\x18\n\x0c\n\x05\x04\x02\x02\x02\ + \x03\x12\x03O\x1b\x1c\nP\n\x04\x04\x02\x02\x03\x12\x03Q\x04\x13\x1aC\x20\ + indicates\x20whether\x20or\x20not\x20this\x20is\x20a\x20p2p\x20listener\ + \x20or\x20local\x20listener\n\n\r\n\x05\x04\x02\x02\x03\x04\x12\x04Q\x04\ + O\x1d\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03Q\x04\x08\n\x0c\n\x05\x04\ + \x02\x02\x03\x01\x12\x03Q\t\x0e\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03Q\ + \x11\x12\nW\n\x02\x04\x03\x12\x04U\0X\x01\x1aK\x20GetPeersResponse\x20is\ + \x20a\x20response\x20to\x20GetPeers\x20containing\x20a\x20slice\x20of\ + \x20peer\x20IDs\n\n\n\n\x03\x04\x03\x01\x12\x03U\x08\x18\n\"\n\x04\x04\ + \x03\x02\0\x12\x03W\x04\x20\x1a\x15\x20a\x20slice\x20of\x20peer\x20IDs\n\ + \n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03W\x04\x0c\n\x0c\n\x05\x04\x03\x02\ + \0\x05\x12\x03W\r\x13\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03W\x14\x1b\n\ + \x0c\n\x05\x04\x03\x02\0\x03\x12\x03W\x1e\x1f\nW\n\x02\x05\x01\x12\x04[\ + \0e\x01\x1aK\x20CONNMGMTREQTYPE\x20indicates\x20the\x20particular\x20Con\ + nMgmt\x20request\x20being\x20performed\n\n\n\n\x03\x05\x01\x01\x12\x03[\ + \x05\x14\n=\n\x04\x05\x01\x02\0\x12\x03]\x04\x13\x1a0\x20CM_CONNECT\x20i\ + s\x20used\x20to\x20connect\x20to\x20a\x20libp2p\x20peer\n\n\x0c\n\x05\ + \x05\x01\x02\0\x01\x12\x03]\x04\x0e\n\x0c\n\x05\x05\x01\x02\0\x02\x12\ + \x03]\x11\x12\nE\n\x04\x05\x01\x02\x01\x12\x03_\x04\x16\x1a8\x20CM_DISCO\ + NNECT\x20is\x20used\x20to\x20disconnect\x20from\x20a\x20libp2p\x20peer\n\ + \n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03_\x04\x11\n\x0c\n\x05\x05\x01\ + \x02\x01\x02\x12\x03_\x14\x15\n\x9f\x01\n\x04\x05\x01\x02\x02\x12\x03b\ + \x04\x12\x1a\x91\x01\x20CM_STATUS\x20is\x20used\x20to\x20return\x20statu\ + s\x20information\x20about\x20libp2p\x20peer\x20connections\n\x20useful\ + \x20for\x20determining\x20whether\x20or\x20not\x20we\x20are\x20connected\ + \x20to\x20someone\n\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03b\x04\r\n\x0c\ + \n\x05\x05\x01\x02\x02\x02\x12\x03b\x10\x11\n<\n\x04\x05\x01\x02\x03\x12\ + \x03d\x04\x15\x1a/CM_GET_PEERS\x20is\x20used\x20to\x20return\x20all\x20k\ + nown\x20peers\n\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03d\x04\x10\n\x0c\n\ + \x05\x05\x01\x02\x03\x02\x12\x03d\x13\x14\n\n\n\x02\x04\x04\x12\x04g\0p\ + \x01\n\n\n\x03\x04\x04\x01\x12\x03g\x08\x17\nU\n\x04\x04\x04\x02\0\x12\ + \x03i\x04$\x1aH\x20indicates\x20the\x20particular\x20connection\x20manag\ + ement\x20request\x20being\x20performed\n\n\r\n\x05\x04\x04\x02\0\x04\x12\ + \x04i\x04g\x19\n\x0c\n\x05\x04\x04\x02\0\x06\x12\x03i\x04\x13\n\x0c\n\ + \x05\x04\x04\x02\0\x01\x12\x03i\x14\x1f\n\x0c\n\x05\x04\x04\x02\0\x03\ + \x12\x03i\"#\n8\n\x04\x04\x04\x02\x01\x12\x03l\x04#\x1a+\x20a\x20list\ + \x20of\x20multiaddrs\n\x20sent\x20by:\x20CM_CONNECT\n\n\x0c\n\x05\x04\ + \x04\x02\x01\x04\x12\x03l\x04\x0c\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\ + \x03l\r\x13\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03l\x14\x1e\n\x0c\n\x05\ + \x04\x04\x02\x01\x03\x12\x03l!\"\nR\n\x04\x04\x04\x02\x02\x12\x03o\x04\ + \x20\x1aE\x20a\x20list\x20of\x20peer\x20IDs\n\x20sent\x20by:\x20CM_DISCO\ + NNECT,\x20CM_STATUS,\x20CM_GET_PEERS\n\n\x0c\n\x05\x04\x04\x02\x02\x04\ + \x12\x03o\x04\x0c\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03o\r\x13\n\x0c\n\ + \x05\x04\x04\x02\x02\x01\x12\x03o\x14\x1b\n\x0c\n\x05\x04\x04\x02\x02\ + \x03\x12\x03o\x1e\x1f\n\n\n\x02\x04\x05\x12\x04r\0y\x01\n\n\n\x03\x04\ + \x05\x01\x12\x03r\x08\x18\nU\n\x04\x04\x05\x02\0\x12\x03t\x04$\x1aH\x20i\ + ndicates\x20the\x20particular\x20connection\x20management\x20request\x20\ + being\x20performed\n\n\r\n\x05\x04\x05\x02\0\x04\x12\x04t\x04r\x1a\n\x0c\ + \n\x05\x04\x05\x02\0\x06\x12\x03t\x04\x13\n\x0c\n\x05\x04\x05\x02\0\x01\ + \x12\x03t\x14\x1f\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03t\"#\n\x0b\n\x04\ + \x04\x05\x02\x01\x12\x03u\x04$\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04u\ + \x04t$\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03u\x04\x15\n\x0c\n\x05\x04\ + \x05\x02\x01\x01\x12\x03u\x16\x1f\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\ + \x03u\"#\nh\n\x04\x04\x05\x02\x02\x12\x03w\x04+\x1a[\x20a\x20map\x20of\ + \x20the\x20peer\x20id,\x20and\x20a\x20custom\x20message\x20indicating\ + \x20success,\x20or\x20why\x20there\x20was\x20a\x20failure\n\n\r\n\x05\ + \x04\x05\x02\x02\x04\x12\x04w\x04u$\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\ + \x03w\x04\x1f\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03w\x20&\n\x0c\n\x05\ + \x04\x05\x02\x02\x03\x12\x03w)*\n\x0b\n\x04\x04\x05\x02\x03\x12\x03x\x04\ + \x20\n\x0c\n\x05\x04\x05\x02\x03\x04\x12\x03x\x04\x0c\n\x0c\n\x05\x04\ + \x05\x02\x03\x05\x12\x03x\r\x13\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03x\ + \x14\x1b\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03x\x1e\x1f\nP\n\x02\x04\ + \x06\x12\x05|\0\x81\x01\x01\x1aC\x20Contains\x20status\x20information\ + \x20about\x20a\x20particular\x20disconnect\x20attempt\n\n\n\n\x03\x04\ + \x06\x01\x12\x03|\x08\x16\n?\n\x04\x04\x06\x02\0\x12\x03~\x04\x1a\x1a2\ + \x20indicate\x20whether\x20or\x20not\x20we\x20actually\x20disconnected\n\ + \n\r\n\x05\x04\x06\x02\0\x04\x12\x04~\x04|\x18\n\x0c\n\x05\x04\x06\x02\0\ + \x05\x12\x03~\x04\x08\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03~\t\x15\n\x0c\ + \n\x05\x04\x06\x02\0\x03\x12\x03~\x18\x19\nD\n\x04\x04\x06\x02\x01\x12\ + \x04\x80\x01\x04\x16\x1a6\x20if\x20disconnected\x20is\x20false,\x20the\ + \x20reason\x20why\x20it\x20is\x20false\n\n\x0e\n\x05\x04\x06\x02\x01\x04\ + \x12\x05\x80\x01\x04~\x1a\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\x80\x01\ + \x04\n\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\x80\x01\x0b\x11\n\r\n\x05\ + \x04\x06\x02\x01\x03\x12\x04\x80\x01\x14\x15\nU\n\x02\x05\x02\x12\x06\ + \x84\x01\0\x89\x01\x01\x1aG\x20EXTRASREQTYPE\x20indicates\x20the\x20part\ + icular\x20Extras\x20request\x20being\x20performed\n\n\x0b\n\x03\x05\x02\ + \x01\x12\x04\x84\x01\x05\x12\nL\n\x04\x05\x02\x02\0\x12\x04\x86\x01\x04\ + \x12\x1a>\x20EX_ENABLE\x20is\x20used\x20to\x20enable\x20a\x20particular\ + \x20node\x20extras\x20feature\n\n\r\n\x05\x05\x02\x02\0\x01\x12\x04\x86\ + \x01\x04\r\n\r\n\x05\x05\x02\x02\0\x02\x12\x04\x86\x01\x10\x11\nN\n\x04\ + \x05\x02\x02\x01\x12\x04\x88\x01\x04\x13\x1a@\x20EX_DISABLE\x20is\x20use\ + d\x20to\x20disable\x20a\x20particular\x20node\x20extras\x20feature\n\n\r\ + \n\x05\x05\x02\x02\x01\x01\x12\x04\x88\x01\x04\x0e\n\r\n\x05\x05\x02\x02\ + \x01\x02\x12\x04\x88\x01\x11\x12\n;\n\x02\x05\x03\x12\x06\x8c\x01\0\x95\ + \x01\x01\x1a-\x20EXTRASTYPE\x20denotes\x20a\x20particular\x20extras\x20t\ + ype\n\n\x0b\n\x03\x05\x03\x01\x12\x04\x8c\x01\x05\x0f\n0\n\x04\x05\x03\ + \x02\0\x12\x04\x8e\x01\x04\x11\x1a\"\x20IDENTIFY\x20is\x20the\x20identif\ + y\x20service\n\n\r\n\x05\x05\x03\x02\0\x01\x12\x04\x8e\x01\x04\x0c\n\r\n\ + \x05\x05\x03\x02\0\x02\x12\x04\x8e\x01\x0f\x10\n2\n\x04\x05\x03\x02\x01\ + \x12\x04\x90\x01\x04\x0f\x1a$\x20PUBSUB\x20is\x20the\x20libp2p\x20pubsub\ + \x20system\n\n\r\n\x05\x05\x03\x02\x01\x01\x12\x04\x90\x01\x04\n\n\r\n\ + \x05\x05\x03\x02\x01\x02\x12\x04\x90\x01\r\x0e\n7\n\x04\x05\x03\x02\x02\ + \x12\x04\x92\x01\x04\x12\x1a)\x20DISCOVERY\x20is\x20a\x20libp2p\x20disco\ + very\x20service\n\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\x92\x01\x04\r\n\ + \r\n\x05\x05\x03\x02\x02\x02\x12\x04\x92\x01\x10\x11\n?\n\x04\x05\x03\ + \x02\x03\x12\x04\x94\x01\x04\r\x1a1\x20MDNS\x20is\x20used\x20to\x20disco\ + ver\x20libp2p\x20hosts\x20over\x20mdns\n\n\r\n\x05\x05\x03\x02\x03\x01\ \x12\x04\x94\x01\x04\x08\n\r\n\x05\x05\x03\x02\x03\x02\x12\x04\x94\x01\ \x0b\x0c\n\x0c\n\x02\x04\x07\x12\x06\x97\x01\0\x9c\x01\x01\n\x0b\n\x03\ - \x04\x07\x01\x12\x04\x97\x01\x08\x15\n6\n\x04\x04\x07\x02\0\x12\x04\x99\ - \x01\x04\"\x1a(\x20indicates\x20the\x20request\x20being\x20performed\r\n\ - \n\x0f\n\x05\x04\x07\x02\0\x04\x12\x06\x99\x01\x04\x97\x01\x17\n\r\n\x05\ + \x04\x07\x01\x12\x04\x97\x01\x08\x15\n5\n\x04\x04\x07\x02\0\x12\x04\x99\ + \x01\x04\"\x1a'\x20indicates\x20the\x20request\x20being\x20performed\n\n\ + \x0f\n\x05\x04\x07\x02\0\x04\x12\x06\x99\x01\x04\x97\x01\x17\n\r\n\x05\ \x04\x07\x02\0\x06\x12\x04\x99\x01\x04\x11\n\r\n\x05\x04\x07\x02\0\x01\ \x12\x04\x99\x01\x12\x1d\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\x99\x01\x20\ - !\nE\n\x04\x04\x07\x02\x01\x12\x04\x9b\x01\x04!\x1a7\x20indicates\x20the\ - \x20extras\x20feature\x20this\x20request\x20applies\x20to\r\n\n\x0f\n\ - \x05\x04\x07\x02\x01\x04\x12\x06\x9b\x01\x04\x99\x01\"\n\r\n\x05\x04\x07\ - \x02\x01\x06\x12\x04\x9b\x01\x04\x0e\n\r\n\x05\x04\x07\x02\x01\x01\x12\ - \x04\x9b\x01\x0f\x1c\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x9b\x01\x1f\ - \x20\nB\n\x02\x05\x04\x12\x06\xa0\x01\0\xb6\x01\x01\x1a4\x20BSREQTYPE\ - \x20is\x20a\x20particular\x20blockstore\x20request\x20type\r\n\n\x0b\n\ - \x03\x05\x04\x01\x12\x04\xa0\x01\x05\x0e\nC\n\x04\x05\x04\x02\0\x12\x04\ - \xa2\x01\x04\x12\x1a5\x20BS_DELETE\x20is\x20used\x20to\x20delete\x20a\ - \x20block\x20from\x20the\x20store\r\n\n\r\n\x05\x05\x04\x02\0\x01\x12\ - \x04\xa2\x01\x04\r\n\r\n\x05\x05\x04\x02\0\x02\x12\x04\xa2\x01\x10\x11\n\ - B\n\x04\x05\x04\x02\x01\x12\x04\xa4\x01\x04\x0f\x1a4\x20BS_PUT\x20is\x20\ - used\x20to\x20put\x20a\x20single\x20block\x20in\x20the\x20store\r\n\n\r\ - \n\x05\x05\x04\x02\x01\x01\x12\x04\xa4\x01\x04\n\n\r\n\x05\x05\x04\x02\ - \x01\x02\x12\x04\xa4\x01\r\x0e\nD\n\x04\x05\x04\x02\x02\x12\x04\xa6\x01\ - \x04\x14\x1a6\x20BS_PUT_MANY\x20is\x20used\x20to\x20put\x20many\x20block\ - s\x20in\x20the\x20store\r\n\n\r\n\x05\x05\x04\x02\x02\x01\x12\x04\xa6\ - \x01\x04\x0f\n\r\n\x05\x05\x04\x02\x02\x02\x12\x04\xa6\x01\x12\x13\n=\n\ - \x04\x05\x04\x02\x03\x12\x04\xa8\x01\x04\x0f\x1a/\x20BS_GET\x20is\x20use\ - d\x20to\x20get\x20a\x20block\x20from\x20the\x20store\r\n\n\r\n\x05\x05\ - \x04\x02\x03\x01\x12\x04\xa8\x01\x04\n\n\r\n\x05\x05\x04\x02\x03\x02\x12\ - \x04\xa8\x01\r\x0e\nF\n\x04\x05\x04\x02\x04\x12\x04\xaa\x01\x04\x14\x1a8\ - \x20BS_GET_MANY\x20is\x20used\x20to\x20get\x20many\x20blocks\x20from\x20\ - the\x20store\r\n\n\r\n\x05\x05\x04\x02\x04\x01\x12\x04\xaa\x01\x04\x0f\n\ - \r\n\x05\x05\x04\x02\x04\x02\x12\x04\xaa\x01\x12\x13\n\x80\x01\n\x04\x05\ - \x04\x02\x05\x12\x04\xad\x01\x04\x13\x1ar\x20BS_GET_ALL\x20is\x20used\ - \x20to\x20retrieve\x20all\x20blocks\x20from\x20the\x20store\r\n\x20It\ - \x20is\x20the\x20gRPC\x20equivalent\x20of\x20Blockstore::AllKeysChan\r\n\ - \n\r\n\x05\x05\x04\x02\x05\x01\x12\x04\xad\x01\x04\x0e\n\r\n\x05\x05\x04\ - \x02\x05\x02\x12\x04\xad\x01\x11\x12\nT\n\x04\x05\x04\x02\x06\x12\x04\ - \xaf\x01\x04\x15\x1aF\x20BS_GET_STATS\x20is\x20used\x20to\x20retrieve\ - \x20statistics\x20about\x20individual\x20blocks\r\n\n\r\n\x05\x05\x04\ - \x02\x06\x01\x12\x04\xaf\x01\x04\x10\n\r\n\x05\x05\x04\x02\x06\x02\x12\ - \x04\xaf\x01\x13\x14\nL\n\x04\x05\x04\x02\x07\x12\x04\xb1\x01\x04\x0f\ - \x1a>\x20BS_HAS\x20is\x20used\x20to\x20retrieve\x20whether\x20or\x20not\ - \x20we\x20have\x20the\x20block\r\n\n\r\n\x05\x05\x04\x02\x07\x01\x12\x04\ - \xb1\x01\x04\n\n\r\n\x05\x05\x04\x02\x07\x02\x12\x04\xb1\x01\r\x0e\nF\n\ - \x04\x05\x04\x02\x08\x12\x04\xb3\x01\x04\x1f\x1a8\x20BS_HASH_ON_READ_ENA\ - BLE\x20is\x20used\x20to\x20enable\x20hash\x20on\x20read\r\n\n\r\n\x05\ - \x05\x04\x02\x08\x01\x12\x04\xb3\x01\x04\x1a\n\r\n\x05\x05\x04\x02\x08\ - \x02\x12\x04\xb3\x01\x1d\x1e\nH\n\x04\x05\x04\x02\t\x12\x04\xb5\x01\x04\ - \x20\x1a:\x20BS_HASH_ON_READ_DISABLE\x20is\x20used\x20to\x20disable\x20h\ - ash\x20on\x20read\r\n\n\r\n\x05\x05\x04\x02\t\x01\x12\x04\xb5\x01\x04\ - \x1b\n\r\n\x05\x05\x04\x02\t\x02\x12\x04\xb5\x01\x1e\x1f\n>\n\x02\x05\ - \x05\x12\x06\xb9\x01\0\xbe\x01\x01\x1a0\x20BSREQOPTS\x20are\x20options\ - \x20for\x20blockstore\x20requests\r\n\n\x0b\n\x03\x05\x05\x01\x12\x04\ - \xb9\x01\x05\x0e\n>\n\x04\x05\x05\x02\0\x12\x04\xbb\x01\x04\x10\x1a0\x20\ - DEFAULT\x20indicates\x20to\x20use\x20the\x20default\x20settings\r\n\n\r\ - \n\x05\x05\x05\x02\0\x01\x12\x04\xbb\x01\x04\x0b\n\r\n\x05\x05\x05\x02\0\ - \x02\x12\x04\xbb\x01\x0e\x0f\nZ\n\x04\x05\x05\x02\x01\x12\x04\xbd\x01\ - \x04\x11\x1aL\x20BS_FORCE\x20indicates\x20to\x20force\x20the\x20request\ - \x20regardless\x20of\x20any\x20possible\x20issues\r\n\n\r\n\x05\x05\x05\ - \x02\x01\x01\x12\x04\xbd\x01\x04\x0c\n\r\n\x05\x05\x05\x02\x01\x02\x12\ - \x04\xbd\x01\x0f\x10\nK\n\x02\x04\x08\x12\x06\xc1\x01\0\xd9\x01\x01\x1a=\ - \x20BlockstoreRequest\x20is\x20a\x20message\x20used\x20to\x20control\x20\ - blockstores\r\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xc1\x01\x08\x19\nB\n\x04\ - \x04\x08\x02\0\x12\x04\xc3\x01\x04\x1e\x1a4\x20\x20indicates\x20the\x20p\ - articular\x20request\x20type\x20being\x20made\r\n\n\x0f\n\x05\x04\x08\ - \x02\0\x04\x12\x06\xc3\x01\x04\xc1\x01\x1b\n\r\n\x05\x04\x08\x02\0\x06\ - \x12\x04\xc3\x01\x04\r\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xc3\x01\x0e\ - \x19\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xc3\x01\x1c\x1d\n*\n\x04\x04\ - \x08\x02\x01\x12\x04\xc5\x01\x04#\x1a\x1c\x20optional\x20request\x20sett\ - ings\r\n\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\xc5\x01\x04\x0c\n\r\n\x05\ - \x04\x08\x02\x01\x06\x12\x04\xc5\x01\r\x16\n\r\n\x05\x04\x08\x02\x01\x01\ - \x12\x04\xc5\x01\x17\x1e\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xc5\x01!\ - \"\nW\n\x04\x04\x08\x02\x02\x12\x04\xc8\x01\x04\x1d\x1aI\x20cids\x20of\ - \x20blocks\r\n\x20sent\x20by:\x20BS_DELETE,\x20BS_GET,\x20BS_GET_MANY,\ - \x20BS_GET_STATS\r\n\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xc8\x01\x04\ + !\nD\n\x04\x04\x07\x02\x01\x12\x04\x9b\x01\x04!\x1a6\x20indicates\x20the\ + \x20extras\x20feature\x20this\x20request\x20applies\x20to\n\n\x0f\n\x05\ + \x04\x07\x02\x01\x04\x12\x06\x9b\x01\x04\x99\x01\"\n\r\n\x05\x04\x07\x02\ + \x01\x06\x12\x04\x9b\x01\x04\x0e\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\ + \x9b\x01\x0f\x1c\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x9b\x01\x1f\x20\n\ + A\n\x02\x05\x04\x12\x06\xa0\x01\0\xb6\x01\x01\x1a3\x20BSREQTYPE\x20is\ + \x20a\x20particular\x20blockstore\x20request\x20type\n\n\x0b\n\x03\x05\ + \x04\x01\x12\x04\xa0\x01\x05\x0e\nB\n\x04\x05\x04\x02\0\x12\x04\xa2\x01\ + \x04\x12\x1a4\x20BS_DELETE\x20is\x20used\x20to\x20delete\x20a\x20block\ + \x20from\x20the\x20store\n\n\r\n\x05\x05\x04\x02\0\x01\x12\x04\xa2\x01\ + \x04\r\n\r\n\x05\x05\x04\x02\0\x02\x12\x04\xa2\x01\x10\x11\nA\n\x04\x05\ + \x04\x02\x01\x12\x04\xa4\x01\x04\x0f\x1a3\x20BS_PUT\x20is\x20used\x20to\ + \x20put\x20a\x20single\x20block\x20in\x20the\x20store\n\n\r\n\x05\x05\ + \x04\x02\x01\x01\x12\x04\xa4\x01\x04\n\n\r\n\x05\x05\x04\x02\x01\x02\x12\ + \x04\xa4\x01\r\x0e\nC\n\x04\x05\x04\x02\x02\x12\x04\xa6\x01\x04\x14\x1a5\ + \x20BS_PUT_MANY\x20is\x20used\x20to\x20put\x20many\x20blocks\x20in\x20th\ + e\x20store\n\n\r\n\x05\x05\x04\x02\x02\x01\x12\x04\xa6\x01\x04\x0f\n\r\n\ + \x05\x05\x04\x02\x02\x02\x12\x04\xa6\x01\x12\x13\n<\n\x04\x05\x04\x02\ + \x03\x12\x04\xa8\x01\x04\x0f\x1a.\x20BS_GET\x20is\x20used\x20to\x20get\ + \x20a\x20block\x20from\x20the\x20store\n\n\r\n\x05\x05\x04\x02\x03\x01\ + \x12\x04\xa8\x01\x04\n\n\r\n\x05\x05\x04\x02\x03\x02\x12\x04\xa8\x01\r\ + \x0e\nE\n\x04\x05\x04\x02\x04\x12\x04\xaa\x01\x04\x14\x1a7\x20BS_GET_MAN\ + Y\x20is\x20used\x20to\x20get\x20many\x20blocks\x20from\x20the\x20store\n\ + \n\r\n\x05\x05\x04\x02\x04\x01\x12\x04\xaa\x01\x04\x0f\n\r\n\x05\x05\x04\ + \x02\x04\x02\x12\x04\xaa\x01\x12\x13\n~\n\x04\x05\x04\x02\x05\x12\x04\ + \xad\x01\x04\x13\x1ap\x20BS_GET_ALL\x20is\x20used\x20to\x20retrieve\x20a\ + ll\x20blocks\x20from\x20the\x20store\n\x20It\x20is\x20the\x20gRPC\x20equ\ + ivalent\x20of\x20Blockstore::AllKeysChan\n\n\r\n\x05\x05\x04\x02\x05\x01\ + \x12\x04\xad\x01\x04\x0e\n\r\n\x05\x05\x04\x02\x05\x02\x12\x04\xad\x01\ + \x11\x12\nS\n\x04\x05\x04\x02\x06\x12\x04\xaf\x01\x04\x15\x1aE\x20BS_GET\ + _STATS\x20is\x20used\x20to\x20retrieve\x20statistics\x20about\x20individ\ + ual\x20blocks\n\n\r\n\x05\x05\x04\x02\x06\x01\x12\x04\xaf\x01\x04\x10\n\ + \r\n\x05\x05\x04\x02\x06\x02\x12\x04\xaf\x01\x13\x14\nK\n\x04\x05\x04\ + \x02\x07\x12\x04\xb1\x01\x04\x0f\x1a=\x20BS_HAS\x20is\x20used\x20to\x20r\ + etrieve\x20whether\x20or\x20not\x20we\x20have\x20the\x20block\n\n\r\n\ + \x05\x05\x04\x02\x07\x01\x12\x04\xb1\x01\x04\n\n\r\n\x05\x05\x04\x02\x07\ + \x02\x12\x04\xb1\x01\r\x0e\nE\n\x04\x05\x04\x02\x08\x12\x04\xb3\x01\x04\ + \x1f\x1a7\x20BS_HASH_ON_READ_ENABLE\x20is\x20used\x20to\x20enable\x20has\ + h\x20on\x20read\n\n\r\n\x05\x05\x04\x02\x08\x01\x12\x04\xb3\x01\x04\x1a\ + \n\r\n\x05\x05\x04\x02\x08\x02\x12\x04\xb3\x01\x1d\x1e\nG\n\x04\x05\x04\ + \x02\t\x12\x04\xb5\x01\x04\x20\x1a9\x20BS_HASH_ON_READ_DISABLE\x20is\x20\ + used\x20to\x20disable\x20hash\x20on\x20read\n\n\r\n\x05\x05\x04\x02\t\ + \x01\x12\x04\xb5\x01\x04\x1b\n\r\n\x05\x05\x04\x02\t\x02\x12\x04\xb5\x01\ + \x1e\x1f\n=\n\x02\x05\x05\x12\x06\xb9\x01\0\xbe\x01\x01\x1a/\x20BSREQOPT\ + S\x20are\x20options\x20for\x20blockstore\x20requests\n\n\x0b\n\x03\x05\ + \x05\x01\x12\x04\xb9\x01\x05\x0e\n=\n\x04\x05\x05\x02\0\x12\x04\xbb\x01\ + \x04\x10\x1a/\x20DEFAULT\x20indicates\x20to\x20use\x20the\x20default\x20\ + settings\n\n\r\n\x05\x05\x05\x02\0\x01\x12\x04\xbb\x01\x04\x0b\n\r\n\x05\ + \x05\x05\x02\0\x02\x12\x04\xbb\x01\x0e\x0f\nY\n\x04\x05\x05\x02\x01\x12\ + \x04\xbd\x01\x04\x11\x1aK\x20BS_FORCE\x20indicates\x20to\x20force\x20the\ + \x20request\x20regardless\x20of\x20any\x20possible\x20issues\n\n\r\n\x05\ + \x05\x05\x02\x01\x01\x12\x04\xbd\x01\x04\x0c\n\r\n\x05\x05\x05\x02\x01\ + \x02\x12\x04\xbd\x01\x0f\x10\nJ\n\x02\x04\x08\x12\x06\xc1\x01\0\xdb\x01\ + \x01\x1a<\x20BlockstoreRequest\x20is\x20a\x20message\x20used\x20to\x20co\ + ntrol\x20blockstores\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xc1\x01\x08\x19\n\ + A\n\x04\x04\x08\x02\0\x12\x04\xc3\x01\x04\x1e\x1a3\x20\x20indicates\x20t\ + he\x20particular\x20request\x20type\x20being\x20made\n\n\x0f\n\x05\x04\ + \x08\x02\0\x04\x12\x06\xc3\x01\x04\xc1\x01\x1b\n\r\n\x05\x04\x08\x02\0\ + \x06\x12\x04\xc3\x01\x04\r\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xc3\x01\ + \x0e\x19\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xc3\x01\x1c\x1d\n)\n\x04\ + \x04\x08\x02\x01\x12\x04\xc5\x01\x04#\x1a\x1b\x20optional\x20request\x20\ + settings\n\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\xc5\x01\x04\x0c\n\r\n\ + \x05\x04\x08\x02\x01\x06\x12\x04\xc5\x01\r\x16\n\r\n\x05\x04\x08\x02\x01\ + \x01\x12\x04\xc5\x01\x17\x1e\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xc5\ + \x01!\"\nU\n\x04\x04\x08\x02\x02\x12\x04\xc8\x01\x04\x1d\x1aG\x20cids\ + \x20of\x20blocks\n\x20sent\x20by:\x20BS_DELETE,\x20BS_GET,\x20BS_GET_MAN\ + Y,\x20BS_GET_STATS\n\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xc8\x01\x04\ \x0c\n\r\n\x05\x04\x08\x02\x02\x05\x12\x04\xc8\x01\r\x13\n\r\n\x05\x04\ \x08\x02\x02\x01\x12\x04\xc8\x01\x14\x18\n\r\n\x05\x04\x08\x02\x02\x03\ - \x12\x04\xc8\x01\x1b\x1c\nG\n\x04\x04\x08\x02\x03\x12\x04\xcb\x01\x04\ - \x1c\x1a9\x20the\x20data\x20we\x20are\x20putting\r\n\x20sent\x20by:\x20B\ - S_PUT,\x20BS_PUT_MANY\r\n\n\r\n\x05\x04\x08\x02\x03\x04\x12\x04\xcb\x01\ - \x04\x0c\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\xcb\x01\r\x12\n\r\n\x05\ - \x04\x08\x02\x03\x01\x12\x04\xcb\x01\x13\x17\n\r\n\x05\x04\x08\x02\x03\ - \x03\x12\x04\xcb\x01\x1a\x1b\nn\n\x04\x04\x08\x02\x04\x12\x04\xce\x01\ - \x04\x1a\x1a`\x20the\x20cid\x20version\x20to\x20use\x20when\x20construct\ - ing\x20blocks,\x20default\x20is\x20v1\r\n\x20sent\x20by:\x20BS_PUT,\x20B\ - S_PUT_MANY\r\n\n\x0f\n\x05\x04\x08\x02\x04\x04\x12\x06\xce\x01\x04\xcb\ - \x01\x1c\n\r\n\x05\x04\x08\x02\x04\x05\x12\x04\xce\x01\x04\n\n\r\n\x05\ - \x04\x08\x02\x04\x01\x12\x04\xce\x01\x0b\x15\n\r\n\x05\x04\x08\x02\x04\ - \x03\x12\x04\xce\x01\x18\x19\nv\n\x04\x04\x08\x02\x05\x12\x04\xd1\x01\ - \x04\x18\x1ah\x20the\x20hash\x20function\x20to\x20use\x20when\x20constru\ - cting\x20blocks,\x20default\x20is\x20sha2-256\r\n\x20sent\x20by:\x20BS_P\ - UT,\x20BS_PUT_MANY\r\n\n\x0f\n\x05\x04\x08\x02\x05\x04\x12\x06\xd1\x01\ - \x04\xce\x01\x1a\n\r\n\x05\x04\x08\x02\x05\x05\x12\x04\xd1\x01\x04\n\n\r\ - \n\x05\x04\x08\x02\x05\x01\x12\x04\xd1\x01\x0b\x13\n\r\n\x05\x04\x08\x02\ - \x05\x03\x12\x04\xd1\x01\x16\x17\n\xb3\x02\n\x04\x04\x08\x02\x06\x12\x04\ - \xd6\x01\x04\x15\x1a\xa4\x02\x20reference\x20ID\x20to\x20mark\x20the\x20\ - blocks\x20of\x20this\x20operation\x20with\r\n\x20when\x20sent\x20by\x20B\ - S_PUT,\x20BS_PUT_MANY:\x20only\x20put\x20if\x20the\x20id\x20is\x20not\ - \x20marked\x20on\x20block,\x20otherwise\x20noop\r\n\x20when\x20sent\x20b\ - y\x20BS_GET,\x20BS_GET_MANY:\x20only\x20get\x20if\x20the\x20id\x20is\x20\ - marked\x20on\x20block\r\n\x20when\x20sent\x20by\x20BS_DELETE:\x20only\ - \x20delete\x20if\x20the\x20id\x20is\x20marked\x20on\x20block\r\n\n\x0f\n\ - \x05\x04\x08\x02\x06\x04\x12\x06\xd6\x01\x04\xd1\x01\x18\n\r\n\x05\x04\ - \x08\x02\x06\x05\x12\x04\xd6\x01\x04\n\n\r\n\x05\x04\x08\x02\x06\x01\x12\ - \x04\xd6\x01\x0b\x10\n\r\n\x05\x04\x08\x02\x06\x03\x12\x04\xd6\x01\x13\ - \x14\n;\n\x04\x04\x08\x02\x07\x12\x04\xd8\x01\x04\x19\x1a-\x20if\x20refI\ - D\x20is\x20set,\x20allows\x20progressive\x20upload\r\n\n\x0f\n\x05\x04\ - \x08\x02\x07\x04\x12\x06\xd8\x01\x04\xd6\x01\x15\n\r\n\x05\x04\x08\x02\ - \x07\x05\x12\x04\xd8\x01\x04\x08\n\r\n\x05\x04\x08\x02\x07\x01\x12\x04\ - \xd8\x01\t\x14\n\r\n\x05\x04\x08\x02\x07\x03\x12\x04\xd8\x01\x17\x18\nH\ - \n\x02\x04\t\x12\x06\xdc\x01\0\xe9\x01\x01\x1a:\x20BlockstoreResponse\ - \x20is\x20a\x20response\x20to\x20a\x20BlockstoreRequest\r\n\n\x0b\n\x03\ - \x04\t\x01\x12\x04\xdc\x01\x08\x1a\nA\n\x04\x04\t\x02\0\x12\x04\xde\x01\ - \x04\x1e\x1a3\x20indicates\x20the\x20particular\x20request\x20type\x20be\ - ing\x20made\r\n\n\x0f\n\x05\x04\t\x02\0\x04\x12\x06\xde\x01\x04\xdc\x01\ - \x1c\n\r\n\x05\x04\t\x02\0\x06\x12\x04\xde\x01\x04\r\n\r\n\x05\x04\t\x02\ - \0\x01\x12\x04\xde\x01\x0e\x19\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xde\x01\ - \x1c\x1d\n\x80\x03\n\x04\x04\t\x02\x01\x12\x04\xe8\x01\x04\x1e\x1a\xf1\ - \x02\x20a\x20copy\x20of\x20blocks\x20from\x20the\x20blockstore\r\n\x20se\ - nt\x20by:\x20BS_PUT,\x20BS_PUT_MANY,\x20BS_GET,\x20BS_GET_MANY,\x20BS_GE\ - T_STATS,\x20BS_GET_ALL\r\n\r\n\x20in\x20the\x20case\x20of\x20BS_PUT,\x20\ - and\x20BS_PUT_MANY\x20requests\r\n\x20the\x20data\x20field\x20will\x20be\ - \x20empty\x20as\x20this\x20is\x20only\x20populated\r\n\x20by\x20get\x20r\ - equests\r\n\r\n\x20in\x20the\x20case\x20of\x20BS_GET_STATS\x20only\x20th\ - e\x20cid,\x20and\x20size\x20params\r\n\x20will\x20be\x20filled\x20out,\ - \x20since\x20we\x20are\x20just\x20interested\x20in\x20the\x20size\r\n\n\ - \r\n\x05\x04\t\x02\x01\x04\x12\x04\xe8\x01\x04\x0c\n\r\n\x05\x04\t\x02\ - \x01\x06\x12\x04\xe8\x01\r\x12\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xe8\ - \x01\x13\x19\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xe8\x01\x1c\x1d\n\x0c\n\ - \x02\x04\n\x12\x06\xeb\x01\0\xf4\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\ - \xeb\x01\x08\r\n3\n\x04\x04\n\x02\0\x12\x04\xed\x01\x04\x13\x1a%\x20cid\ - \x20is\x20the\x20identifier\x20of\x20the\x20block\r\n\n\x0f\n\x05\x04\n\ - \x02\0\x04\x12\x06\xed\x01\x04\xeb\x01\x0f\n\r\n\x05\x04\n\x02\0\x05\x12\ - \x04\xed\x01\x04\n\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xed\x01\x0b\x0e\n\r\ - \n\x05\x04\n\x02\0\x03\x12\x04\xed\x01\x11\x12\n9\n\x04\x04\n\x02\x01\ - \x12\x04\xef\x01\x04\x13\x1a+\x20data\x20is\x20the\x20actual\x20contents\ - \x20of\x20the\x20block\r\n\n\x0f\n\x05\x04\n\x02\x01\x04\x12\x06\xef\x01\ - \x04\xed\x01\x13\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xef\x01\x04\t\n\r\n\ - \x05\x04\n\x02\x01\x01\x12\x04\xef\x01\n\x0e\n\r\n\x05\x04\n\x02\x01\x03\ - \x12\x04\xef\x01\x11\x12\n\x8d\x01\n\x04\x04\n\x02\x02\x12\x04\xf3\x01\ - \x04\x13\x1a\x7f\x20size\x20of\x20the\x20block,\x20only\x20filled\x20out\ - \x20by\x20BS_GET_STATS\r\n\x20since\x20if\x20we\x20just\x20want\x20stats\ - ,\x20we\x20don't\x20want\x20to\x20\r\n\x20retrieve\x20all\x20the\x20data\ - .\r\n\n\x0f\n\x05\x04\n\x02\x02\x04\x12\x06\xf3\x01\x04\xef\x01\x13\n\r\ - \n\x05\x04\n\x02\x02\x05\x12\x04\xf3\x01\x04\t\n\r\n\x05\x04\n\x02\x02\ - \x01\x12\x04\xf3\x01\n\x0e\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xf3\x01\ - \x11\x12\nS\n\x02\x05\x06\x12\x06\xf7\x01\0\x86\x02\x01\x1aE\x20DAGREQTY\ - PE\x20indicates\x20the\x20particular\x20DagAPI\x20request\x20being\x20pe\ - rformed\r\n\n\x0b\n\x03\x05\x06\x01\x12\x04\xf7\x01\x05\x0f\n8\n\x04\x05\ - \x06\x02\0\x12\x04\xf9\x01\x04\x10\x1a*\x20DAG_PUT\x20is\x20used\x20to\ - \x20add\x20new\x20IPLD\x20objects\r\n\n\r\n\x05\x05\x06\x02\0\x01\x12\ - \x04\xf9\x01\x04\x0b\n\r\n\x05\x05\x06\x02\0\x02\x12\x04\xf9\x01\x0e\x0f\ - \n=\n\x04\x05\x06\x02\x01\x12\x04\xfb\x01\x04\x10\x1a/\x20DAG_GET\x20is\ - \x20used\x20to\x20retrieve\x20IPLD\x20object\x20data\r\n\n\r\n\x05\x05\ - \x06\x02\x01\x01\x12\x04\xfb\x01\x04\x0b\n\r\n\x05\x05\x06\x02\x01\x02\ - \x12\x04\xfb\x01\x0e\x0f\nF\n\x04\x05\x06\x02\x02\x12\x04\xfd\x01\x04\ - \x15\x1a8\x20DAG_NEW_NODE\x20is\x20used\x20to\x20create\x20a\x20new\x20I\ - PLD\x20node\x20object\r\n\n\r\n\x05\x05\x06\x02\x02\x01\x12\x04\xfd\x01\ - \x04\x10\n\r\n\x05\x05\x06\x02\x02\x02\x12\x04\xfd\x01\x13\x14\nJ\n\x04\ - \x05\x06\x02\x03\x12\x04\xff\x01\x04\x16\x1a<\x20DAG_ADD_LINKS\x20is\x20\ - used\x20to\x20add\x20links\x20to\x20an\x20IPLD\x20node\x20object\r\n\n\r\ - \n\x05\x05\x06\x02\x03\x01\x12\x04\xff\x01\x04\x11\n\r\n\x05\x05\x06\x02\ - \x03\x02\x12\x04\xff\x01\x14\x15\n]\n\x04\x05\x06\x02\x04\x12\x04\x81\ - \x02\x04\x16\x1aO\x20DAG_GET_LINKS\x20is\x20used\x20to\x20retrieve\x20al\ - l\x20links\x20contained\x20in\x20an\x20IPLD\x20node\x20object\r\n\n\r\n\ - \x05\x05\x06\x02\x04\x01\x12\x04\x81\x02\x04\x11\n\r\n\x05\x05\x06\x02\ - \x04\x02\x12\x04\x81\x02\x14\x15\nH\n\x04\x05\x06\x02\x05\x12\x04\x83\ - \x02\x04\x11\x1a:\x20DAG_STAT\x20is\x20used\x20to\x20retrieve\x20ipld.No\ - deStats\x20information\r\n\n\r\n\x05\x05\x06\x02\x05\x01\x12\x04\x83\x02\ - \x04\x0c\n\r\n\x05\x05\x06\x02\x05\x02\x12\x04\x83\x02\x0f\x10\n5\n\x04\ - \x05\x06\x02\x06\x12\x04\x85\x02\x04\x13\x1a'\x20DAG_REMOVE\x20is\x20the\ - \x20inverse\x20of\x20DAG_PUT\r\n\n\r\n\x05\x05\x06\x02\x06\x01\x12\x04\ - \x85\x02\x04\x0e\n\r\n\x05\x05\x06\x02\x06\x02\x12\x04\x85\x02\x11\x12\n\ - B\n\x02\x04\x0b\x12\x06\x89\x02\0\xa7\x02\x01\x1a4\x20Used\x20to\x20subm\ - it\x20a\x20request\x20to\x20Dag\x20or\x20DagStream\x20RPCs\r\n\n\x0b\n\ - \x03\x04\x0b\x01\x12\x04\x89\x02\x08\x12\nS\n\x04\x04\x0b\x02\0\x12\x04\ - \x8c\x02\x04\x1f\x1aE\x20indicates\x20the\x20request\x20being\x20perform\ - ed\r\n\x20sent\x20by:\x20all\x20request\x20types\r\n\n\x0f\n\x05\x04\x0b\ - \x02\0\x04\x12\x06\x8c\x02\x04\x89\x02\x14\n\r\n\x05\x04\x0b\x02\0\x06\ - \x12\x04\x8c\x02\x04\x0e\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\x8c\x02\x0f\ - \x1a\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\x8c\x02\x1d\x1e\nN\n\x04\x04\ - \x0b\x02\x01\x12\x04\x8f\x02\x04\x13\x1a@\x20data\x20that\x20we\x20will\ - \x20be\x20storing\r\n\x20sent\x20by:\x20DAG_PUT,\x20DAG_NEW_NODE\r\n\n\ - \x0f\n\x05\x04\x0b\x02\x01\x04\x12\x06\x8f\x02\x04\x8c\x02\x1f\n\r\n\x05\ - \x04\x0b\x02\x01\x05\x12\x04\x8f\x02\x04\t\n\r\n\x05\x04\x0b\x02\x01\x01\ - \x12\x04\x8f\x02\n\x0e\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\x8f\x02\x11\ - \x12\nZ\n\x04\x04\x0b\x02\x02\x12\x04\x92\x02\x04\x1e\x1aL\x20the\x20obj\ - ect\x20encoding\x20type\x20(raw,\x20cbor,\x20protobuf,\x20etc...)\r\n\ - \x20sent\x20by:\x20DAG_PUT\r\n\n\x0f\n\x05\x04\x0b\x02\x02\x04\x12\x06\ - \x92\x02\x04\x8f\x02\x13\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\x92\x02\ - \x04\n\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\x92\x02\x0b\x19\n\r\n\x05\ - \x04\x0b\x02\x02\x03\x12\x04\x92\x02\x1c\x1d\nZ\n\x04\x04\x0b\x02\x03\ - \x12\x04\x95\x02\x04#\x1aL\x20the\x20serialization\x20format\x20(raw,\ - \x20cbor,\x20protobuf,\x20etc...)\r\n\x20sent\x20by:\x20DAG_PUT\r\n\n\ - \x0f\n\x05\x04\x0b\x02\x03\x04\x12\x06\x95\x02\x04\x92\x02\x1e\n\r\n\x05\ - \x04\x0b\x02\x03\x05\x12\x04\x95\x02\x04\n\n\r\n\x05\x04\x0b\x02\x03\x01\ - \x12\x04\x95\x02\x0b\x1e\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x95\x02!\ - \"\ny\n\x04\x04\x0b\x02\x04\x12\x04\x98\x02\x04\x18\x1ak\x20the\x20hash\ - \x20function\x20to\x20to\x20use\x20(sha2-256,\x20sha3-512,\x20etc...)\r\ - \n\x20sent\x20by:\x20DAG_PUT,\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS\r\n\n\ - \x0f\n\x05\x04\x0b\x02\x04\x04\x12\x06\x98\x02\x04\x95\x02#\n\r\n\x05\ - \x04\x0b\x02\x04\x05\x12\x04\x98\x02\x04\n\n\r\n\x05\x04\x0b\x02\x04\x01\ - \x12\x04\x98\x02\x0b\x13\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\x98\x02\ - \x16\x17\nO\n\x04\x04\x0b\x02\x05\x12\x04\x9b\x02\x04\x19\x1aA\x20the\ - \x20cid\x20version\x20to\x20use\x20(0,\x201)\r\n\x20sent\x20by:\x20DAG_P\ - UT,\x20DAG_NEW_NODE\r\n\n\x0f\n\x05\x04\x0b\x02\x05\x04\x12\x06\x9b\x02\ - \x04\x98\x02\x18\n\r\n\x05\x04\x0b\x02\x05\x05\x12\x04\x9b\x02\x04\t\n\r\ - \n\x05\x04\x0b\x02\x05\x01\x12\x04\x9b\x02\n\x14\n\r\n\x05\x04\x0b\x02\ - \x05\x03\x12\x04\x9b\x02\x17\x18\n\x84\x01\n\x04\x04\x0b\x02\x06\x12\x04\ - \x9e\x02\x04\x14\x1av\x20the\x20hash\x20of\x20the\x20object\x20we\x20are\ - \x20processing\r\n\x20sent\x20by:\x20DAG_GET,\x20DAG_NEW_NODe,\x20DAG_AD\ - D_LINKS,\x20DAG_GET_LINKS,\x20DAG_REMOVE\r\n\n\x0f\n\x05\x04\x0b\x02\x06\ - \x04\x12\x06\x9e\x02\x04\x9b\x02\x19\n\r\n\x05\x04\x0b\x02\x06\x05\x12\ - \x04\x9e\x02\x04\n\n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\x9e\x02\x0b\x0f\ - \n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\x9e\x02\x12\x13\nv\n\x04\x04\x0b\ - \x02\x07\x12\x04\xa1\x02\x04\"\x1ah\x20indicates\x20links\x20and\x20thei\ - r\x20names.\x20key\x20=\x20name,\x20value\x20=\x20link\x20hash\r\n\x20se\ - nt\x20by:\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS\r\n\n\x0f\n\x05\x04\x0b\x02\ - \x07\x04\x12\x06\xa1\x02\x04\x9e\x02\x14\n\r\n\x05\x04\x0b\x02\x07\x06\ - \x12\x04\xa1\x02\x04\x17\n\r\n\x05\x04\x0b\x02\x07\x01\x12\x04\xa1\x02\ - \x18\x1d\n\r\n\x05\x04\x0b\x02\x07\x03\x12\x04\xa1\x02\x20!\n_\n\x04\x04\ - \x0b\x02\x08\x12\x04\xa4\x02\x04\x15\x1aQ\x20optional\x20reference\x20ID\ - \x20to\x20mark\x20the\x20cid/hash\x20with\r\n\x20sent\x20by:\x20DAG_PUT,\ - \x20DAG_REMOVE\r\n\n\x0f\n\x05\x04\x0b\x02\x08\x04\x12\x06\xa4\x02\x04\ - \xa1\x02\"\n\r\n\x05\x04\x0b\x02\x08\x05\x12\x04\xa4\x02\x04\n\n\r\n\x05\ - \x04\x0b\x02\x08\x01\x12\x04\xa4\x02\x0b\x10\n\r\n\x05\x04\x0b\x02\x08\ - \x03\x12\x04\xa4\x02\x13\x14\n;\n\x04\x04\x0b\x02\t\x12\x04\xa6\x02\x04\ - \x1a\x1a-\x20if\x20refID\x20is\x20set,\x20allows\x20progressive\x20uploa\ - d\r\n\n\x0f\n\x05\x04\x0b\x02\t\x04\x12\x06\xa6\x02\x04\xa4\x02\x15\n\r\ - \n\x05\x04\x0b\x02\t\x05\x12\x04\xa6\x02\x04\x08\n\r\n\x05\x04\x0b\x02\t\ - \x01\x12\x04\xa6\x02\t\x14\n\r\n\x05\x04\x0b\x02\t\x03\x12\x04\xa6\x02\ - \x17\x19\n;\n\x02\x04\x0c\x12\x06\xaa\x02\0\xbd\x02\x01\x1a-\x20Used\x20\ - in\x20response\x20to\x20a\x20Dag\x20or\x20DagStream\x20RPC\r\n\n\x0b\n\ - \x03\x04\x0c\x01\x12\x04\xaa\x02\x08\x13\nS\n\x04\x04\x0c\x02\0\x12\x04\ - \xad\x02\x04\x1f\x1aE\x20indicates\x20the\x20request\x20being\x20perform\ - ed\r\n\x20sent\x20by:\x20all\x20request\x20types\r\n\n\x0f\n\x05\x04\x0c\ - \x02\0\x04\x12\x06\xad\x02\x04\xaa\x02\x15\n\r\n\x05\x04\x0c\x02\0\x06\ - \x12\x04\xad\x02\x04\x0e\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\xad\x02\x0f\ - \x1a\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\xad\x02\x1d\x1e\n\x82\x01\n\x04\ - \x04\x0c\x02\x01\x12\x04\xb0\x02\x04\x1f\x1at\x20returns\x20the\x20hashe\ - s\x20of\x20newly\x20generated\x20IPLD\x20objects\r\n\x20sent\x20by:\x20D\ - AG_PUT,\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS,\x20DAG_GET_LINKS\r\n\n\r\n\ - \x05\x04\x0c\x02\x01\x04\x12\x04\xb0\x02\x04\x0c\n\r\n\x05\x04\x0c\x02\ - \x01\x05\x12\x04\xb0\x02\r\x13\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xb0\ - \x02\x14\x1a\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xb0\x02\x1d\x1e\nP\n\ - \x04\x04\x0c\x02\x02\x12\x04\xb3\x02\x04\x16\x1aB\x20the\x20actual\x20da\ - ta\x20contained\x20by\x20the\x20IPLD\x20object\r\n\x20sent\x20by:\x20DAG\ - _GET\r\n\n\x0f\n\x05\x04\x0c\x02\x02\x04\x12\x06\xb3\x02\x04\xb0\x02\x1f\ - \n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\xb3\x02\x04\t\n\r\n\x05\x04\x0c\ - \x02\x02\x01\x12\x04\xb3\x02\n\x11\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\ - \xb3\x02\x14\x15\nX\n\x04\x04\x0c\x02\x03\x12\x04\xb6\x02\x04\x20\x1aJ\ - \x20the\x20links\x20contained\x20within\x20an\x20IPLD\x20node\x20object\ - \r\n\x20sent\x20by:\x20DAG_GET_LINKS\r\n\n\r\n\x05\x04\x0c\x02\x03\x04\ - \x12\x04\xb6\x02\x04\x0c\n\r\n\x05\x04\x0c\x02\x03\x06\x12\x04\xb6\x02\r\ - \x15\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xb6\x02\x16\x1b\n\r\n\x05\x04\ - \x0c\x02\x03\x03\x12\x04\xb6\x02\x1e\x1f\nX\n\x04\x04\x0c\x02\x04\x12\ - \x04\xb9\x02\x04(\x1aJ\x20maps\x20ipld\x20cids\x20to\x20a\x20ipld.NodeSt\ - at\x20object\x20equivalent\r\n\x20sent\x20by:\x20DAG_STAT\r\n\n\x0f\n\ - \x05\x04\x0c\x02\x04\x04\x12\x06\xb9\x02\x04\xb6\x02\x20\n\r\n\x05\x04\ - \x0c\x02\x04\x06\x12\x04\xb9\x02\x04\x19\n\r\n\x05\x04\x0c\x02\x04\x01\ - \x12\x04\xb9\x02\x1a#\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xb9\x02&'\nR\ - \n\x04\x04\x0c\x02\x05\x12\x04\xbc\x02\x04\x15\x1aD\x20The\x20number\x20\ - of\x20removal\x20operations\x20performed.\r\n\x20sent\x20by:\x20DAG_REMO\ - VE\r\n\n\x0f\n\x05\x04\x0c\x02\x05\x04\x12\x06\xbc\x02\x04\xb9\x02(\n\r\ - \n\x05\x04\x0c\x02\x05\x05\x12\x04\xbc\x02\x04\n\n\r\n\x05\x04\x0c\x02\ - \x05\x01\x12\x04\xbc\x02\x0b\x10\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\ - \xbc\x02\x13\x14\n{\n\x02\x04\r\x12\x06\xc1\x02\0\xcc\x02\x01\x1am\x20IP\ - LDStat\x20is\x20statistics\x20about\x20an\x20individual\x20dag\x20node\r\ - \n\x20it\x20is\x20a\x20protocol\x20buffer\x20wrapper\x20around\x20ipld.N\ - odeStat\r\n\n\x0b\n\x03\x04\r\x01\x12\x04\xc1\x02\x08\x10\n.\n\x04\x04\r\ - \x02\0\x12\x04\xc3\x02\x04\x17\x1a\x20\x20number\x20of\x20links\x20in\ - \x20link\x20table\r\n\n\x0f\n\x05\x04\r\x02\0\x04\x12\x06\xc3\x02\x04\ - \xc1\x02\x12\n\r\n\x05\x04\r\x02\0\x05\x12\x04\xc3\x02\x04\t\n\r\n\x05\ - \x04\r\x02\0\x01\x12\x04\xc3\x02\n\x12\n\r\n\x05\x04\r\x02\0\x03\x12\x04\ - \xc3\x02\x15\x16\n.\n\x04\x04\r\x02\x01\x12\x04\xc5\x02\x04\x18\x1a\x20\ - \x20size\x20of\x20the\x20raw,\x20encoded\x20data\r\n\n\x0f\n\x05\x04\r\ - \x02\x01\x04\x12\x06\xc5\x02\x04\xc3\x02\x17\n\r\n\x05\x04\r\x02\x01\x05\ - \x12\x04\xc5\x02\x04\t\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xc5\x02\n\x13\ - \n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xc5\x02\x16\x17\n*\n\x04\x04\r\x02\ - \x02\x12\x04\xc7\x02\x04\x17\x1a\x1c\x20size\x20of\x20the\x20links\x20se\ - gment\r\n\n\x0f\n\x05\x04\r\x02\x02\x04\x12\x06\xc7\x02\x04\xc5\x02\x18\ - \n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xc7\x02\x04\t\n\r\n\x05\x04\r\x02\ - \x02\x01\x12\x04\xc7\x02\n\x12\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xc7\ - \x02\x15\x16\n=\n\x04\x04\r\x02\x03\x12\x04\xc9\x02\x04\x1d\x1a/\x20cumu\ - lative\x20size\x20of\x20object\x20and\x20its\x20references\r\n\n\x0f\n\ - \x05\x04\r\x02\x03\x04\x12\x06\xc9\x02\x04\xc7\x02\x17\n\r\n\x05\x04\r\ - \x02\x03\x05\x12\x04\xc9\x02\x04\t\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\ - \xc9\x02\n\x18\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\xc9\x02\x1b\x1c\n)\n\ - \x04\x04\r\x02\x04\x12\x04\xcb\x02\x04\x17\x1a\x1b\x20size\x20of\x20the\ - \x20data\x20segment\r\n\n\x0f\n\x05\x04\r\x02\x04\x04\x12\x06\xcb\x02\ - \x04\xc9\x02\x1d\n\r\n\x05\x04\r\x02\x04\x05\x12\x04\xcb\x02\x04\t\n\r\n\ - \x05\x04\r\x02\x04\x01\x12\x04\xcb\x02\n\x12\n\r\n\x05\x04\r\x02\x04\x03\ - \x12\x04\xcb\x02\x15\x16\n'\n\x02\x04\x0e\x12\x06\xcf\x02\0\xd6\x02\x01\ - \x1a\x19\x20An\x20IPFS\x20MerkleDAG\x20Link\r\n\n\x0b\n\x03\x04\x0e\x01\ - \x12\x04\xcf\x02\x08\x10\n/\n\x04\x04\x0e\x02\0\x12\x04\xd1\x02\x04\x13\ - \x1a!\x20multihash\x20of\x20the\x20target\x20object\r\n\n\x0f\n\x05\x04\ - \x0e\x02\0\x04\x12\x06\xd1\x02\x04\xcf\x02\x12\n\r\n\x05\x04\x0e\x02\0\ - \x05\x12\x04\xd1\x02\x04\t\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xd1\x02\n\ - \x0e\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xd1\x02\x11\x12\n=\n\x04\x04\ - \x0e\x02\x01\x12\x04\xd3\x02\x04\x14\x1a/\x20utf\x20string\x20name.\x20s\ - hould\x20be\x20unique\x20per\x20object\r\n\n\x0f\n\x05\x04\x0e\x02\x01\ - \x04\x12\x06\xd3\x02\x04\xd1\x02\x13\n\r\n\x05\x04\x0e\x02\x01\x05\x12\ - \x04\xd3\x02\x04\n\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xd3\x02\x0b\x0f\ - \n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xd3\x02\x12\x13\n1\n\x04\x04\x0e\ - \x02\x02\x12\x04\xd5\x02\x04\x14\x1a#\x20cumulative\x20size\x20of\x20tar\ - get\x20object\r\n\n\x0f\n\x05\x04\x0e\x02\x02\x04\x12\x06\xd5\x02\x04\ - \xd3\x02\x14\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xd5\x02\x04\n\n\r\n\ - \x05\x04\x0e\x02\x02\x01\x12\x04\xd5\x02\x0b\x0f\n\r\n\x05\x04\x0e\x02\ - \x02\x03\x12\x04\xd5\x02\x12\x13\n'\n\x02\x04\x0f\x12\x06\xd9\x02\0\xde\ - \x02\x01\x1a\x19\x20An\x20IPFS\x20MerkleDAG\x20Node\r\n\n\x0b\n\x03\x04\ - \x0f\x01\x12\x04\xd9\x02\x08\x10\n&\n\x04\x04\x0f\x02\0\x12\x04\xdb\x02\ - \x04\x20\x1a\x18\x20refs\x20to\x20other\x20objects\r\n\n\r\n\x05\x04\x0f\ - \x02\0\x04\x12\x04\xdb\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\0\x06\x12\x04\ - \xdb\x02\r\x15\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xdb\x02\x16\x1b\n\r\n\ - \x05\x04\x0f\x02\0\x03\x12\x04\xdb\x02\x1e\x1f\n!\n\x04\x04\x0f\x02\x01\ - \x12\x04\xdd\x02\x04\x13\x1a\x13\x20opaque\x20user\x20data\r\n\n\x0f\n\ - \x05\x04\x0f\x02\x01\x04\x12\x06\xdd\x02\x04\xdb\x02\x20\n\r\n\x05\x04\ - \x0f\x02\x01\x05\x12\x04\xdd\x02\x04\t\n\r\n\x05\x04\x0f\x02\x01\x01\x12\ - \x04\xdd\x02\n\x0e\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xdd\x02\x11\x12\ - \nW\n\x02\x05\x07\x12\x06\xe1\x02\0\xec\x02\x01\x1aI\x20KSREQTYPE\x20ind\ - icates\x20the\x20particular\x20KeystoreAPI\x20request\x20being\x20perfor\ - med\r\n\n\x0b\n\x03\x05\x07\x01\x12\x04\xe1\x02\x05\x0e\nJ\n\x04\x05\x07\ - \x02\0\x12\x04\xe3\x02\x04\x0f\x1a<\x20KS_HAS\x20is\x20used\x20to\x20che\ - ck\x20if\x20the\x20key\x20exists\x20in\x20our\x20keystore\r\n\n\r\n\x05\ - \x05\x07\x02\0\x01\x12\x04\xe3\x02\x04\n\n\r\n\x05\x05\x07\x02\0\x02\x12\ - \x04\xe3\x02\r\x0e\nO\n\x04\x05\x07\x02\x01\x12\x04\xe5\x02\x04\x0f\x1aA\ - \x20KS_GET\x20is\x20used\x20to\x20retrieve\x20private\x20key\x20bytes\ - \x20from\x20our\x20keystore\r\n\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\ - \xe5\x02\x04\n\n\r\n\x05\x05\x07\x02\x01\x02\x12\x04\xe5\x02\r\x0e\nJ\n\ - \x04\x05\x07\x02\x02\x12\x04\xe7\x02\x04\x0f\x1a<\x20KS_PUT\x20is\x20use\ - d\x20to\x20store\x20private\x20key\x20bytes\x20in\x20our\x20keystore\r\n\ - \n\r\n\x05\x05\x07\x02\x02\x01\x12\x04\xe7\x02\x04\n\n\r\n\x05\x05\x07\ - \x02\x02\x02\x12\x04\xe7\x02\r\x0e\nK\n\x04\x05\x07\x02\x03\x12\x04\xe9\ - \x02\x04\x12\x1a=\x20KS_DELETE\x20is\x20used\x20to\x20delete\x20private\ - \x20keys\x20from\x20our\x20keystore\r\n\n\r\n\x05\x05\x07\x02\x03\x01\ - \x12\x04\xe9\x02\x04\r\n\r\n\x05\x05\x07\x02\x03\x02\x12\x04\xe9\x02\x10\ - \x11\nO\n\x04\x05\x07\x02\x04\x12\x04\xeb\x02\x04\x10\x1aA\x20KS_LIST\ - \x20is\x20used\x20to\x20list\x20all\x20keys\x20in\x20our\x20keystore\x20\ - by\x20their\x20name\r\n\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\xeb\x02\ - \x04\x0b\n\r\n\x05\x05\x07\x02\x04\x02\x12\x04\xeb\x02\x0e\x0f\n9\n\x02\ - \x04\x10\x12\x06\xef\x02\0\xf8\x02\x01\x1a+\x20Used\x20to\x20submit\x20a\ - \x20request\x20to\x20Keystore\x20RPC\r\n\n\x0b\n\x03\x04\x10\x01\x12\x04\ - \xef\x02\x08\x17\n;\n\x04\x04\x10\x02\0\x12\x04\xf1\x02\x04\x1e\x1a-\x20\ - indicates\x20the\x20request\x20type\x20being\x20performed\r\n\n\x0f\n\ - \x05\x04\x10\x02\0\x04\x12\x06\xf1\x02\x04\xef\x02\x19\n\r\n\x05\x04\x10\ - \x02\0\x06\x12\x04\xf1\x02\x04\r\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xf1\ - \x02\x0e\x19\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\xf1\x02\x1c\x1d\n`\n\ - \x04\x04\x10\x02\x01\x12\x04\xf4\x02\x04\x14\x1aR\x20name\x20of\x20the\ - \x20key\x20the\x20request\x20is\x20for\r\n\x20sent\x20by:\x20KS_HAS,\x20\ - KS_GET,\x20KS_PUT,\x20KS_DELETE\r\n\n\x0f\n\x05\x04\x10\x02\x01\x04\x12\ - \x06\xf4\x02\x04\xf1\x02\x1e\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xf4\ - \x02\x04\n\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xf4\x02\x0b\x0f\n\r\n\ - \x05\x04\x10\x02\x01\x03\x12\x04\xf4\x02\x12\x13\n?\n\x04\x04\x10\x02\ - \x02\x12\x04\xf7\x02\x04\x19\x1a1\x20the\x20actual\x20private\x20key\x20\ - bytes\r\n\x20sent\x20by:\x20KS_PUT\r\n\n\x0f\n\x05\x04\x10\x02\x02\x04\ - \x12\x06\xf7\x02\x04\xf4\x02\x14\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\ - \xf7\x02\x04\t\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xf7\x02\n\x14\n\r\n\ - \x05\x04\x10\x02\x02\x03\x12\x04\xf7\x02\x17\x18\n3\n\x02\x04\x11\x12\ - \x06\xfb\x02\0\x87\x03\x01\x1a%\x20Used\x20in\x20response\x20to\x20a\x20\ - Keystore\x20RPC\r\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xfb\x02\x08\x18\n;\n\ - \x04\x04\x11\x02\0\x12\x04\xfd\x02\x04\x1e\x1a-\x20indicates\x20the\x20r\ - equest\x20type\x20being\x20performed\r\n\n\x0f\n\x05\x04\x11\x02\0\x04\ - \x12\x06\xfd\x02\x04\xfb\x02\x1a\n\r\n\x05\x04\x11\x02\0\x06\x12\x04\xfd\ - \x02\x04\r\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xfd\x02\x0e\x19\n\r\n\x05\ - \x04\x11\x02\0\x03\x12\x04\xfd\x02\x1c\x1d\n8\n\x04\x04\x11\x02\x01\x12\ - \x04\x80\x03\x04\x19\x1a*\x20the\x20private\x20key\x20bytes\r\n\x20sent\ - \x20by:\x20KS_GET\r\n\n\x0f\n\x05\x04\x11\x02\x01\x04\x12\x06\x80\x03\ - \x04\xfd\x02\x1e\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\x80\x03\x04\t\n\r\ - \n\x05\x04\x11\x02\x01\x01\x12\x04\x80\x03\n\x14\n\r\n\x05\x04\x11\x02\ - \x01\x03\x12\x04\x80\x03\x17\x18\n@\n\x04\x04\x11\x02\x02\x12\x04\x83\ - \x03\x04!\x1a2\x20contains\x20all\x20known\x20key\x20names\r\n\x20sent\ - \x20by:\x20KS_LIST\r\n\n\r\n\x05\x04\x11\x02\x02\x04\x12\x04\x83\x03\x04\ - \x0c\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\x83\x03\r\x13\n\r\n\x05\x04\ - \x11\x02\x02\x01\x12\x04\x83\x03\x14\x1c\n\r\n\x05\x04\x11\x02\x02\x03\ - \x12\x04\x83\x03\x1f\x20\nO\n\x04\x04\x11\x02\x03\x12\x04\x86\x03\x04\ - \x11\x1aA\x20indicates\x20if\x20we\x20have\x20the\x20key\x20in\x20our\ - \x20keystore\r\n\x20sent\x20by:\x20KS_HAS\r\n\n\x0f\n\x05\x04\x11\x02\ - \x03\x04\x12\x06\x86\x03\x04\x83\x03!\n\r\n\x05\x04\x11\x02\x03\x05\x12\ - \x04\x86\x03\x04\x08\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\x86\x03\t\x0c\ - \n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\x86\x03\x0f\x10\n\x0c\n\x02\x04\ - \x12\x12\x06\x89\x03\0\x90\x03\x01\n\x0b\n\x03\x04\x12\x01\x12\x04\x89\ - \x03\x08\x16\n(\n\x04\x04\x12\x02\0\x12\x04\x8b\x03\x04\x1d\x1a\x1a\x20c\ - ids\x20to\x20persist\x20locally\r\n\n\r\n\x05\x04\x12\x02\0\x04\x12\x04\ - \x8b\x03\x04\x0c\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\x8b\x03\r\x13\n\r\n\ - \x05\x04\x12\x02\0\x01\x12\x04\x8b\x03\x14\x18\n\r\n\x05\x04\x12\x02\0\ - \x03\x12\x04\x8b\x03\x1b\x1c\n<\n\x04\x04\x12\x02\x01\x12\x04\x8d\x03\ - \x04\x15\x1a.\x20optional\x20reference\x20ID\x20to\x20mark\x20the\x20cid\ - s\x20with\r\n\n\x0f\n\x05\x04\x12\x02\x01\x04\x12\x06\x8d\x03\x04\x8b\ - \x03\x1d\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\x8d\x03\x04\n\n\r\n\x05\ - \x04\x12\x02\x01\x01\x12\x04\x8d\x03\x0b\x10\n\r\n\x05\x04\x12\x02\x01\ - \x03\x12\x04\x8d\x03\x13\x14\n;\n\x04\x04\x12\x02\x02\x12\x04\x8f\x03\ - \x04\x19\x1a-\x20if\x20refID\x20is\x20set,\x20allows\x20progressive\x20u\ - pload\r\n\n\x0f\n\x05\x04\x12\x02\x02\x04\x12\x06\x8f\x03\x04\x8d\x03\ - \x15\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\x8f\x03\x04\x08\n\r\n\x05\x04\ - \x12\x02\x02\x01\x12\x04\x8f\x03\t\x14\n\r\n\x05\x04\x12\x02\x02\x03\x12\ - \x04\x8f\x03\x17\x18\n\x0c\n\x02\x04\x13\x12\x06\x92\x03\0\x97\x03\x01\n\ - \x0b\n\x03\x04\x13\x01\x12\x04\x92\x03\x08\x17\nC\n\x04\x04\x13\x02\0\ - \x12\x04\x94\x03\x04!\x1a5\x20key\x20=\x20cid,\x20value\x20=\x20whether\ - \x20or\x20not\x20it\x20was\x20persisted\r\n\n\x0f\n\x05\x04\x13\x02\0\ - \x04\x12\x06\x94\x03\x04\x92\x03\x19\n\r\n\x05\x04\x13\x02\0\x06\x12\x04\ - \x94\x03\x04\x15\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\x94\x03\x16\x1c\n\r\ - \n\x05\x04\x13\x02\0\x03\x12\x04\x94\x03\x1f\x20\n:\n\x04\x04\x13\x02\ - \x01\x12\x04\x96\x03\x04#\x1a,\x20key\x20=\x20cid,\x20value\x20=\x20erro\ - r\x20if\x20not\x20persisted\r\n\n\x0f\n\x05\x04\x13\x02\x01\x04\x12\x06\ - \x96\x03\x04\x94\x03!\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\x96\x03\x04\ - \x17\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\x96\x03\x18\x1e\n\r\n\x05\x04\ - \x13\x02\x01\x03\x12\x04\x96\x03!\"b\x06proto3\ + \x12\x04\xc8\x01\x1b\x1c\nE\n\x04\x04\x08\x02\x03\x12\x04\xcb\x01\x04\ + \x1c\x1a7\x20the\x20data\x20we\x20are\x20putting\n\x20sent\x20by:\x20BS_\ + PUT,\x20BS_PUT_MANY\n\n\r\n\x05\x04\x08\x02\x03\x04\x12\x04\xcb\x01\x04\ + \x0c\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\xcb\x01\r\x12\n\r\n\x05\x04\ + \x08\x02\x03\x01\x12\x04\xcb\x01\x13\x17\n\r\n\x05\x04\x08\x02\x03\x03\ + \x12\x04\xcb\x01\x1a\x1b\nl\n\x04\x04\x08\x02\x04\x12\x04\xce\x01\x04\ + \x1a\x1a^\x20the\x20cid\x20version\x20to\x20use\x20when\x20constructing\ + \x20blocks,\x20default\x20is\x20v1\n\x20sent\x20by:\x20BS_PUT,\x20BS_PUT\ + _MANY\n\n\x0f\n\x05\x04\x08\x02\x04\x04\x12\x06\xce\x01\x04\xcb\x01\x1c\ + \n\r\n\x05\x04\x08\x02\x04\x05\x12\x04\xce\x01\x04\n\n\r\n\x05\x04\x08\ + \x02\x04\x01\x12\x04\xce\x01\x0b\x15\n\r\n\x05\x04\x08\x02\x04\x03\x12\ + \x04\xce\x01\x18\x19\nt\n\x04\x04\x08\x02\x05\x12\x04\xd1\x01\x04\x18\ + \x1af\x20the\x20hash\x20function\x20to\x20use\x20when\x20constructing\ + \x20blocks,\x20default\x20is\x20sha2-256\n\x20sent\x20by:\x20BS_PUT,\x20\ + BS_PUT_MANY\n\n\x0f\n\x05\x04\x08\x02\x05\x04\x12\x06\xd1\x01\x04\xce\ + \x01\x1a\n\r\n\x05\x04\x08\x02\x05\x05\x12\x04\xd1\x01\x04\n\n\r\n\x05\ + \x04\x08\x02\x05\x01\x12\x04\xd1\x01\x0b\x13\n\r\n\x05\x04\x08\x02\x05\ + \x03\x12\x04\xd1\x01\x16\x17\n\xaf\x02\n\x04\x04\x08\x02\x06\x12\x04\xd6\ + \x01\x04\x15\x1a\xa0\x02\x20reference\x20ID\x20to\x20mark\x20the\x20bloc\ + ks\x20of\x20this\x20operation\x20with\n\x20when\x20sent\x20by\x20BS_PUT,\ + \x20BS_PUT_MANY:\x20only\x20put\x20if\x20the\x20id\x20is\x20not\x20marke\ + d\x20on\x20block,\x20otherwise\x20noop\n\x20when\x20sent\x20by\x20BS_GET\ + ,\x20BS_GET_MANY:\x20only\x20get\x20if\x20the\x20id\x20is\x20marked\x20o\ + n\x20block\n\x20when\x20sent\x20by\x20BS_DELETE:\x20only\x20delete\x20if\ + \x20the\x20id\x20is\x20marked\x20on\x20block\n\n\x0f\n\x05\x04\x08\x02\ + \x06\x04\x12\x06\xd6\x01\x04\xd1\x01\x18\n\r\n\x05\x04\x08\x02\x06\x05\ + \x12\x04\xd6\x01\x04\n\n\r\n\x05\x04\x08\x02\x06\x01\x12\x04\xd6\x01\x0b\ + \x10\n\r\n\x05\x04\x08\x02\x06\x03\x12\x04\xd6\x01\x13\x14\n:\n\x04\x04\ + \x08\x02\x07\x12\x04\xd8\x01\x04\x19\x1a,\x20if\x20refID\x20is\x20set,\ + \x20allows\x20progressive\x20upload\n\n\x0f\n\x05\x04\x08\x02\x07\x04\ + \x12\x06\xd8\x01\x04\xd6\x01\x15\n\r\n\x05\x04\x08\x02\x07\x05\x12\x04\ + \xd8\x01\x04\x08\n\r\n\x05\x04\x08\x02\x07\x01\x12\x04\xd8\x01\t\x14\n\r\ + \n\x05\x04\x08\x02\x07\x03\x12\x04\xd8\x01\x17\x18\nO\n\x04\x04\x08\x02\ + \x08\x12\x04\xda\x01\x04\x16\x1aA\x20if\x20refID\x20is\x20set,\x20remove\ + \x20the\x20any\x20existing\x20blocks\x20with\x20same\x20refID\n\n\x0f\n\ + \x05\x04\x08\x02\x08\x04\x12\x06\xda\x01\x04\xd8\x01\x19\n\r\n\x05\x04\ + \x08\x02\x08\x05\x12\x04\xda\x01\x04\x08\n\r\n\x05\x04\x08\x02\x08\x01\ + \x12\x04\xda\x01\t\x10\n\r\n\x05\x04\x08\x02\x08\x03\x12\x04\xda\x01\x13\ + \x15\nG\n\x02\x04\t\x12\x06\xde\x01\0\xeb\x01\x01\x1a9\x20BlockstoreResp\ + onse\x20is\x20a\x20response\x20to\x20a\x20BlockstoreRequest\n\n\x0b\n\ + \x03\x04\t\x01\x12\x04\xde\x01\x08\x1a\n@\n\x04\x04\t\x02\0\x12\x04\xe0\ + \x01\x04\x1e\x1a2\x20indicates\x20the\x20particular\x20request\x20type\ + \x20being\x20made\n\n\x0f\n\x05\x04\t\x02\0\x04\x12\x06\xe0\x01\x04\xde\ + \x01\x1c\n\r\n\x05\x04\t\x02\0\x06\x12\x04\xe0\x01\x04\r\n\r\n\x05\x04\t\ + \x02\0\x01\x12\x04\xe0\x01\x0e\x19\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xe0\ + \x01\x1c\x1d\n\xf7\x02\n\x04\x04\t\x02\x01\x12\x04\xea\x01\x04\x1e\x1a\ + \xe8\x02\x20a\x20copy\x20of\x20blocks\x20from\x20the\x20blockstore\n\x20\ + sent\x20by:\x20BS_PUT,\x20BS_PUT_MANY,\x20BS_GET,\x20BS_GET_MANY,\x20BS_\ + GET_STATS,\x20BS_GET_ALL\n\n\x20in\x20the\x20case\x20of\x20BS_PUT,\x20an\ + d\x20BS_PUT_MANY\x20requests\n\x20the\x20data\x20field\x20will\x20be\x20\ + empty\x20as\x20this\x20is\x20only\x20populated\n\x20by\x20get\x20request\ + s\n\n\x20in\x20the\x20case\x20of\x20BS_GET_STATS\x20only\x20the\x20cid,\ + \x20and\x20size\x20params\n\x20will\x20be\x20filled\x20out,\x20since\x20\ + we\x20are\x20just\x20interested\x20in\x20the\x20size\n\n\r\n\x05\x04\t\ + \x02\x01\x04\x12\x04\xea\x01\x04\x0c\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\ + \xea\x01\r\x12\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xea\x01\x13\x19\n\r\n\ + \x05\x04\t\x02\x01\x03\x12\x04\xea\x01\x1c\x1d\n\x0c\n\x02\x04\n\x12\x06\ + \xed\x01\0\xf6\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\xed\x01\x08\r\n2\n\ + \x04\x04\n\x02\0\x12\x04\xef\x01\x04\x13\x1a$\x20cid\x20is\x20the\x20ide\ + ntifier\x20of\x20the\x20block\n\n\x0f\n\x05\x04\n\x02\0\x04\x12\x06\xef\ + \x01\x04\xed\x01\x0f\n\r\n\x05\x04\n\x02\0\x05\x12\x04\xef\x01\x04\n\n\r\ + \n\x05\x04\n\x02\0\x01\x12\x04\xef\x01\x0b\x0e\n\r\n\x05\x04\n\x02\0\x03\ + \x12\x04\xef\x01\x11\x12\n8\n\x04\x04\n\x02\x01\x12\x04\xf1\x01\x04\x13\ + \x1a*\x20data\x20is\x20the\x20actual\x20contents\x20of\x20the\x20block\n\ + \n\x0f\n\x05\x04\n\x02\x01\x04\x12\x06\xf1\x01\x04\xef\x01\x13\n\r\n\x05\ + \x04\n\x02\x01\x05\x12\x04\xf1\x01\x04\t\n\r\n\x05\x04\n\x02\x01\x01\x12\ + \x04\xf1\x01\n\x0e\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xf1\x01\x11\x12\n\ + \x8a\x01\n\x04\x04\n\x02\x02\x12\x04\xf5\x01\x04\x13\x1a|\x20size\x20of\ + \x20the\x20block,\x20only\x20filled\x20out\x20by\x20BS_GET_STATS\n\x20si\ + nce\x20if\x20we\x20just\x20want\x20stats,\x20we\x20don't\x20want\x20to\ + \x20\n\x20retrieve\x20all\x20the\x20data.\n\n\x0f\n\x05\x04\n\x02\x02\ + \x04\x12\x06\xf5\x01\x04\xf1\x01\x13\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\ + \xf5\x01\x04\t\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xf5\x01\n\x0e\n\r\n\ + \x05\x04\n\x02\x02\x03\x12\x04\xf5\x01\x11\x12\nR\n\x02\x05\x06\x12\x06\ + \xf9\x01\0\x88\x02\x01\x1aD\x20DAGREQTYPE\x20indicates\x20the\x20particu\ + lar\x20DagAPI\x20request\x20being\x20performed\n\n\x0b\n\x03\x05\x06\x01\ + \x12\x04\xf9\x01\x05\x0f\n7\n\x04\x05\x06\x02\0\x12\x04\xfb\x01\x04\x10\ + \x1a)\x20DAG_PUT\x20is\x20used\x20to\x20add\x20new\x20IPLD\x20objects\n\ + \n\r\n\x05\x05\x06\x02\0\x01\x12\x04\xfb\x01\x04\x0b\n\r\n\x05\x05\x06\ + \x02\0\x02\x12\x04\xfb\x01\x0e\x0f\n<\n\x04\x05\x06\x02\x01\x12\x04\xfd\ + \x01\x04\x10\x1a.\x20DAG_GET\x20is\x20used\x20to\x20retrieve\x20IPLD\x20\ + object\x20data\n\n\r\n\x05\x05\x06\x02\x01\x01\x12\x04\xfd\x01\x04\x0b\n\ + \r\n\x05\x05\x06\x02\x01\x02\x12\x04\xfd\x01\x0e\x0f\nE\n\x04\x05\x06\ + \x02\x02\x12\x04\xff\x01\x04\x15\x1a7\x20DAG_NEW_NODE\x20is\x20used\x20t\ + o\x20create\x20a\x20new\x20IPLD\x20node\x20object\n\n\r\n\x05\x05\x06\ + \x02\x02\x01\x12\x04\xff\x01\x04\x10\n\r\n\x05\x05\x06\x02\x02\x02\x12\ + \x04\xff\x01\x13\x14\nI\n\x04\x05\x06\x02\x03\x12\x04\x81\x02\x04\x16\ + \x1a;\x20DAG_ADD_LINKS\x20is\x20used\x20to\x20add\x20links\x20to\x20an\ + \x20IPLD\x20node\x20object\n\n\r\n\x05\x05\x06\x02\x03\x01\x12\x04\x81\ + \x02\x04\x11\n\r\n\x05\x05\x06\x02\x03\x02\x12\x04\x81\x02\x14\x15\n\\\n\ + \x04\x05\x06\x02\x04\x12\x04\x83\x02\x04\x16\x1aN\x20DAG_GET_LINKS\x20is\ + \x20used\x20to\x20retrieve\x20all\x20links\x20contained\x20in\x20an\x20I\ + PLD\x20node\x20object\n\n\r\n\x05\x05\x06\x02\x04\x01\x12\x04\x83\x02\ + \x04\x11\n\r\n\x05\x05\x06\x02\x04\x02\x12\x04\x83\x02\x14\x15\nG\n\x04\ + \x05\x06\x02\x05\x12\x04\x85\x02\x04\x11\x1a9\x20DAG_STAT\x20is\x20used\ + \x20to\x20retrieve\x20ipld.NodeStats\x20information\n\n\r\n\x05\x05\x06\ + \x02\x05\x01\x12\x04\x85\x02\x04\x0c\n\r\n\x05\x05\x06\x02\x05\x02\x12\ + \x04\x85\x02\x0f\x10\n4\n\x04\x05\x06\x02\x06\x12\x04\x87\x02\x04\x13\ + \x1a&\x20DAG_REMOVE\x20is\x20the\x20inverse\x20of\x20DAG_PUT\n\n\r\n\x05\ + \x05\x06\x02\x06\x01\x12\x04\x87\x02\x04\x0e\n\r\n\x05\x05\x06\x02\x06\ + \x02\x12\x04\x87\x02\x11\x12\nA\n\x02\x04\x0b\x12\x06\x8b\x02\0\xab\x02\ + \x01\x1a3\x20Used\x20to\x20submit\x20a\x20request\x20to\x20Dag\x20or\x20\ + DagStream\x20RPCs\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x8b\x02\x08\x12\nQ\n\ + \x04\x04\x0b\x02\0\x12\x04\x8e\x02\x04\x1f\x1aC\x20indicates\x20the\x20r\ + equest\x20being\x20performed\n\x20sent\x20by:\x20all\x20request\x20types\ + \n\n\x0f\n\x05\x04\x0b\x02\0\x04\x12\x06\x8e\x02\x04\x8b\x02\x14\n\r\n\ + \x05\x04\x0b\x02\0\x06\x12\x04\x8e\x02\x04\x0e\n\r\n\x05\x04\x0b\x02\0\ + \x01\x12\x04\x8e\x02\x0f\x1a\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\x8e\x02\ + \x1d\x1e\nL\n\x04\x04\x0b\x02\x01\x12\x04\x91\x02\x04\x13\x1a>\x20data\ + \x20that\x20we\x20will\x20be\x20storing\n\x20sent\x20by:\x20DAG_PUT,\x20\ + DAG_NEW_NODE\n\n\x0f\n\x05\x04\x0b\x02\x01\x04\x12\x06\x91\x02\x04\x8e\ + \x02\x1f\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\x91\x02\x04\t\n\r\n\x05\ + \x04\x0b\x02\x01\x01\x12\x04\x91\x02\n\x0e\n\r\n\x05\x04\x0b\x02\x01\x03\ + \x12\x04\x91\x02\x11\x12\nX\n\x04\x04\x0b\x02\x02\x12\x04\x94\x02\x04\ + \x1e\x1aJ\x20the\x20object\x20encoding\x20type\x20(raw,\x20cbor,\x20prot\ + obuf,\x20etc...)\n\x20sent\x20by:\x20DAG_PUT\n\n\x0f\n\x05\x04\x0b\x02\ + \x02\x04\x12\x06\x94\x02\x04\x91\x02\x13\n\r\n\x05\x04\x0b\x02\x02\x05\ + \x12\x04\x94\x02\x04\n\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\x94\x02\x0b\ + \x19\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\x94\x02\x1c\x1d\nX\n\x04\x04\ + \x0b\x02\x03\x12\x04\x97\x02\x04#\x1aJ\x20the\x20serialization\x20format\ + \x20(raw,\x20cbor,\x20protobuf,\x20etc...)\n\x20sent\x20by:\x20DAG_PUT\n\ + \n\x0f\n\x05\x04\x0b\x02\x03\x04\x12\x06\x97\x02\x04\x94\x02\x1e\n\r\n\ + \x05\x04\x0b\x02\x03\x05\x12\x04\x97\x02\x04\n\n\r\n\x05\x04\x0b\x02\x03\ + \x01\x12\x04\x97\x02\x0b\x1e\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x97\ + \x02!\"\nw\n\x04\x04\x0b\x02\x04\x12\x04\x9a\x02\x04\x18\x1ai\x20the\x20\ + hash\x20function\x20to\x20to\x20use\x20(sha2-256,\x20sha3-512,\x20etc...\ + )\n\x20sent\x20by:\x20DAG_PUT,\x20DAG_NEW_NODE,\x20DAG_ADD_LINKS\n\n\x0f\ + \n\x05\x04\x0b\x02\x04\x04\x12\x06\x9a\x02\x04\x97\x02#\n\r\n\x05\x04\ + \x0b\x02\x04\x05\x12\x04\x9a\x02\x04\n\n\r\n\x05\x04\x0b\x02\x04\x01\x12\ + \x04\x9a\x02\x0b\x13\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\x9a\x02\x16\ + \x17\nM\n\x04\x04\x0b\x02\x05\x12\x04\x9d\x02\x04\x19\x1a?\x20the\x20cid\ + \x20version\x20to\x20use\x20(0,\x201)\n\x20sent\x20by:\x20DAG_PUT,\x20DA\ + G_NEW_NODE\n\n\x0f\n\x05\x04\x0b\x02\x05\x04\x12\x06\x9d\x02\x04\x9a\x02\ + \x18\n\r\n\x05\x04\x0b\x02\x05\x05\x12\x04\x9d\x02\x04\t\n\r\n\x05\x04\ + \x0b\x02\x05\x01\x12\x04\x9d\x02\n\x14\n\r\n\x05\x04\x0b\x02\x05\x03\x12\ + \x04\x9d\x02\x17\x18\n\x82\x01\n\x04\x04\x0b\x02\x06\x12\x04\xa0\x02\x04\ + \x14\x1at\x20the\x20hash\x20of\x20the\x20object\x20we\x20are\x20processi\ + ng\n\x20sent\x20by:\x20DAG_GET,\x20DAG_NEW_NODe,\x20DAG_ADD_LINKS,\x20DA\ + G_GET_LINKS,\x20DAG_REMOVE\n\n\x0f\n\x05\x04\x0b\x02\x06\x04\x12\x06\xa0\ + \x02\x04\x9d\x02\x19\n\r\n\x05\x04\x0b\x02\x06\x05\x12\x04\xa0\x02\x04\n\ + \n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\xa0\x02\x0b\x0f\n\r\n\x05\x04\x0b\ + \x02\x06\x03\x12\x04\xa0\x02\x12\x13\nt\n\x04\x04\x0b\x02\x07\x12\x04\ + \xa3\x02\x04\"\x1af\x20indicates\x20links\x20and\x20their\x20names.\x20k\ + ey\x20=\x20name,\x20value\x20=\x20link\x20hash\n\x20sent\x20by:\x20DAG_N\ + EW_NODE,\x20DAG_ADD_LINKS\n\n\x0f\n\x05\x04\x0b\x02\x07\x04\x12\x06\xa3\ + \x02\x04\xa0\x02\x14\n\r\n\x05\x04\x0b\x02\x07\x06\x12\x04\xa3\x02\x04\ + \x17\n\r\n\x05\x04\x0b\x02\x07\x01\x12\x04\xa3\x02\x18\x1d\n\r\n\x05\x04\ + \x0b\x02\x07\x03\x12\x04\xa3\x02\x20!\n]\n\x04\x04\x0b\x02\x08\x12\x04\ + \xa6\x02\x04\x15\x1aO\x20optional\x20reference\x20ID\x20to\x20mark\x20th\ + e\x20cid/hash\x20with\n\x20sent\x20by:\x20DAG_PUT,\x20DAG_REMOVE\n\n\x0f\ + \n\x05\x04\x0b\x02\x08\x04\x12\x06\xa6\x02\x04\xa3\x02\"\n\r\n\x05\x04\ + \x0b\x02\x08\x05\x12\x04\xa6\x02\x04\n\n\r\n\x05\x04\x0b\x02\x08\x01\x12\ + \x04\xa6\x02\x0b\x10\n\r\n\x05\x04\x0b\x02\x08\x03\x12\x04\xa6\x02\x13\ + \x14\n:\n\x04\x04\x0b\x02\t\x12\x04\xa8\x02\x04\x1a\x1a,\x20if\x20refID\ + \x20is\x20set,\x20allows\x20progressive\x20upload\n\n\x0f\n\x05\x04\x0b\ + \x02\t\x04\x12\x06\xa8\x02\x04\xa6\x02\x15\n\r\n\x05\x04\x0b\x02\t\x05\ + \x12\x04\xa8\x02\x04\x08\n\r\n\x05\x04\x0b\x02\t\x01\x12\x04\xa8\x02\t\ + \x14\n\r\n\x05\x04\x0b\x02\t\x03\x12\x04\xa8\x02\x17\x19\nM\n\x04\x04\ + \x0b\x02\n\x12\x04\xaa\x02\x04\x16\x1a?\x20if\x20refID\x20is\x20set,\x20\ + remove\x20the\x20any\x20existing\x20DAGs\x20with\x20same\x20refID\n\n\ + \x0f\n\x05\x04\x0b\x02\n\x04\x12\x06\xaa\x02\x04\xa8\x02\x1a\n\r\n\x05\ + \x04\x0b\x02\n\x05\x12\x04\xaa\x02\x04\x08\n\r\n\x05\x04\x0b\x02\n\x01\ + \x12\x04\xaa\x02\t\x10\n\r\n\x05\x04\x0b\x02\n\x03\x12\x04\xaa\x02\x13\ + \x15\n:\n\x02\x04\x0c\x12\x06\xae\x02\0\xc1\x02\x01\x1a,\x20Used\x20in\ + \x20response\x20to\x20a\x20Dag\x20or\x20DagStream\x20RPC\n\n\x0b\n\x03\ + \x04\x0c\x01\x12\x04\xae\x02\x08\x13\nQ\n\x04\x04\x0c\x02\0\x12\x04\xb1\ + \x02\x04\x1f\x1aC\x20indicates\x20the\x20request\x20being\x20performed\n\ + \x20sent\x20by:\x20all\x20request\x20types\n\n\x0f\n\x05\x04\x0c\x02\0\ + \x04\x12\x06\xb1\x02\x04\xae\x02\x15\n\r\n\x05\x04\x0c\x02\0\x06\x12\x04\ + \xb1\x02\x04\x0e\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\xb1\x02\x0f\x1a\n\r\ + \n\x05\x04\x0c\x02\0\x03\x12\x04\xb1\x02\x1d\x1e\n\x80\x01\n\x04\x04\x0c\ + \x02\x01\x12\x04\xb4\x02\x04\x1f\x1ar\x20returns\x20the\x20hashes\x20of\ + \x20newly\x20generated\x20IPLD\x20objects\n\x20sent\x20by:\x20DAG_PUT,\ + \x20DAG_NEW_NODE,\x20DAG_ADD_LINKS,\x20DAG_GET_LINKS\n\n\r\n\x05\x04\x0c\ + \x02\x01\x04\x12\x04\xb4\x02\x04\x0c\n\r\n\x05\x04\x0c\x02\x01\x05\x12\ + \x04\xb4\x02\r\x13\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xb4\x02\x14\x1a\ + \n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xb4\x02\x1d\x1e\nN\n\x04\x04\x0c\ + \x02\x02\x12\x04\xb7\x02\x04\x16\x1a@\x20the\x20actual\x20data\x20contai\ + ned\x20by\x20the\x20IPLD\x20object\n\x20sent\x20by:\x20DAG_GET\n\n\x0f\n\ + \x05\x04\x0c\x02\x02\x04\x12\x06\xb7\x02\x04\xb4\x02\x1f\n\r\n\x05\x04\ + \x0c\x02\x02\x05\x12\x04\xb7\x02\x04\t\n\r\n\x05\x04\x0c\x02\x02\x01\x12\ + \x04\xb7\x02\n\x11\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xb7\x02\x14\x15\ + \nV\n\x04\x04\x0c\x02\x03\x12\x04\xba\x02\x04\x20\x1aH\x20the\x20links\ + \x20contained\x20within\x20an\x20IPLD\x20node\x20object\n\x20sent\x20by:\ + \x20DAG_GET_LINKS\n\n\r\n\x05\x04\x0c\x02\x03\x04\x12\x04\xba\x02\x04\ + \x0c\n\r\n\x05\x04\x0c\x02\x03\x06\x12\x04\xba\x02\r\x15\n\r\n\x05\x04\ + \x0c\x02\x03\x01\x12\x04\xba\x02\x16\x1b\n\r\n\x05\x04\x0c\x02\x03\x03\ + \x12\x04\xba\x02\x1e\x1f\nV\n\x04\x04\x0c\x02\x04\x12\x04\xbd\x02\x04(\ + \x1aH\x20maps\x20ipld\x20cids\x20to\x20a\x20ipld.NodeStat\x20object\x20e\ + quivalent\n\x20sent\x20by:\x20DAG_STAT\n\n\x0f\n\x05\x04\x0c\x02\x04\x04\ + \x12\x06\xbd\x02\x04\xba\x02\x20\n\r\n\x05\x04\x0c\x02\x04\x06\x12\x04\ + \xbd\x02\x04\x19\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xbd\x02\x1a#\n\r\ + \n\x05\x04\x0c\x02\x04\x03\x12\x04\xbd\x02&'\nP\n\x04\x04\x0c\x02\x05\ + \x12\x04\xc0\x02\x04\x15\x1aB\x20The\x20number\x20of\x20removal\x20opera\ + tions\x20performed.\n\x20sent\x20by:\x20DAG_REMOVE\n\n\x0f\n\x05\x04\x0c\ + \x02\x05\x04\x12\x06\xc0\x02\x04\xbd\x02(\n\r\n\x05\x04\x0c\x02\x05\x05\ + \x12\x04\xc0\x02\x04\n\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xc0\x02\x0b\ + \x10\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xc0\x02\x13\x14\ny\n\x02\x04\ + \r\x12\x06\xc5\x02\0\xd0\x02\x01\x1ak\x20IPLDStat\x20is\x20statistics\ + \x20about\x20an\x20individual\x20dag\x20node\n\x20it\x20is\x20a\x20proto\ + col\x20buffer\x20wrapper\x20around\x20ipld.NodeStat\n\n\x0b\n\x03\x04\r\ + \x01\x12\x04\xc5\x02\x08\x10\n-\n\x04\x04\r\x02\0\x12\x04\xc7\x02\x04\ + \x17\x1a\x1f\x20number\x20of\x20links\x20in\x20link\x20table\n\n\x0f\n\ + \x05\x04\r\x02\0\x04\x12\x06\xc7\x02\x04\xc5\x02\x12\n\r\n\x05\x04\r\x02\ + \0\x05\x12\x04\xc7\x02\x04\t\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xc7\x02\n\ + \x12\n\r\n\x05\x04\r\x02\0\x03\x12\x04\xc7\x02\x15\x16\n-\n\x04\x04\r\ + \x02\x01\x12\x04\xc9\x02\x04\x18\x1a\x1f\x20size\x20of\x20the\x20raw,\ + \x20encoded\x20data\n\n\x0f\n\x05\x04\r\x02\x01\x04\x12\x06\xc9\x02\x04\ + \xc7\x02\x17\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xc9\x02\x04\t\n\r\n\x05\ + \x04\r\x02\x01\x01\x12\x04\xc9\x02\n\x13\n\r\n\x05\x04\r\x02\x01\x03\x12\ + \x04\xc9\x02\x16\x17\n)\n\x04\x04\r\x02\x02\x12\x04\xcb\x02\x04\x17\x1a\ + \x1b\x20size\x20of\x20the\x20links\x20segment\n\n\x0f\n\x05\x04\r\x02\ + \x02\x04\x12\x06\xcb\x02\x04\xc9\x02\x18\n\r\n\x05\x04\r\x02\x02\x05\x12\ + \x04\xcb\x02\x04\t\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xcb\x02\n\x12\n\r\ + \n\x05\x04\r\x02\x02\x03\x12\x04\xcb\x02\x15\x16\n<\n\x04\x04\r\x02\x03\ + \x12\x04\xcd\x02\x04\x1d\x1a.\x20cumulative\x20size\x20of\x20object\x20a\ + nd\x20its\x20references\n\n\x0f\n\x05\x04\r\x02\x03\x04\x12\x06\xcd\x02\ + \x04\xcb\x02\x17\n\r\n\x05\x04\r\x02\x03\x05\x12\x04\xcd\x02\x04\t\n\r\n\ + \x05\x04\r\x02\x03\x01\x12\x04\xcd\x02\n\x18\n\r\n\x05\x04\r\x02\x03\x03\ + \x12\x04\xcd\x02\x1b\x1c\n(\n\x04\x04\r\x02\x04\x12\x04\xcf\x02\x04\x17\ + \x1a\x1a\x20size\x20of\x20the\x20data\x20segment\n\n\x0f\n\x05\x04\r\x02\ + \x04\x04\x12\x06\xcf\x02\x04\xcd\x02\x1d\n\r\n\x05\x04\r\x02\x04\x05\x12\ + \x04\xcf\x02\x04\t\n\r\n\x05\x04\r\x02\x04\x01\x12\x04\xcf\x02\n\x12\n\r\ + \n\x05\x04\r\x02\x04\x03\x12\x04\xcf\x02\x15\x16\n&\n\x02\x04\x0e\x12\ + \x06\xd3\x02\0\xda\x02\x01\x1a\x18\x20An\x20IPFS\x20MerkleDAG\x20Link\n\ + \n\x0b\n\x03\x04\x0e\x01\x12\x04\xd3\x02\x08\x10\n.\n\x04\x04\x0e\x02\0\ + \x12\x04\xd5\x02\x04\x13\x1a\x20\x20multihash\x20of\x20the\x20target\x20\ + object\n\n\x0f\n\x05\x04\x0e\x02\0\x04\x12\x06\xd5\x02\x04\xd3\x02\x12\n\ + \r\n\x05\x04\x0e\x02\0\x05\x12\x04\xd5\x02\x04\t\n\r\n\x05\x04\x0e\x02\0\ + \x01\x12\x04\xd5\x02\n\x0e\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xd5\x02\ + \x11\x12\n<\n\x04\x04\x0e\x02\x01\x12\x04\xd7\x02\x04\x14\x1a.\x20utf\ + \x20string\x20name.\x20should\x20be\x20unique\x20per\x20object\n\n\x0f\n\ + \x05\x04\x0e\x02\x01\x04\x12\x06\xd7\x02\x04\xd5\x02\x13\n\r\n\x05\x04\ + \x0e\x02\x01\x05\x12\x04\xd7\x02\x04\n\n\r\n\x05\x04\x0e\x02\x01\x01\x12\ + \x04\xd7\x02\x0b\x0f\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xd7\x02\x12\ + \x13\n0\n\x04\x04\x0e\x02\x02\x12\x04\xd9\x02\x04\x14\x1a\"\x20cumulativ\ + e\x20size\x20of\x20target\x20object\n\n\x0f\n\x05\x04\x0e\x02\x02\x04\ + \x12\x06\xd9\x02\x04\xd7\x02\x14\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\ + \xd9\x02\x04\n\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xd9\x02\x0b\x0f\n\r\ + \n\x05\x04\x0e\x02\x02\x03\x12\x04\xd9\x02\x12\x13\n&\n\x02\x04\x0f\x12\ + \x06\xdd\x02\0\xe2\x02\x01\x1a\x18\x20An\x20IPFS\x20MerkleDAG\x20Node\n\ + \n\x0b\n\x03\x04\x0f\x01\x12\x04\xdd\x02\x08\x10\n%\n\x04\x04\x0f\x02\0\ + \x12\x04\xdf\x02\x04\x20\x1a\x17\x20refs\x20to\x20other\x20objects\n\n\r\ + \n\x05\x04\x0f\x02\0\x04\x12\x04\xdf\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\0\ + \x06\x12\x04\xdf\x02\r\x15\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xdf\x02\ + \x16\x1b\n\r\n\x05\x04\x0f\x02\0\x03\x12\x04\xdf\x02\x1e\x1f\n\x20\n\x04\ + \x04\x0f\x02\x01\x12\x04\xe1\x02\x04\x13\x1a\x12\x20opaque\x20user\x20da\ + ta\n\n\x0f\n\x05\x04\x0f\x02\x01\x04\x12\x06\xe1\x02\x04\xdf\x02\x20\n\r\ + \n\x05\x04\x0f\x02\x01\x05\x12\x04\xe1\x02\x04\t\n\r\n\x05\x04\x0f\x02\ + \x01\x01\x12\x04\xe1\x02\n\x0e\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xe1\ + \x02\x11\x12\nV\n\x02\x05\x07\x12\x06\xe5\x02\0\xf0\x02\x01\x1aH\x20KSRE\ + QTYPE\x20indicates\x20the\x20particular\x20KeystoreAPI\x20request\x20bei\ + ng\x20performed\n\n\x0b\n\x03\x05\x07\x01\x12\x04\xe5\x02\x05\x0e\nI\n\ + \x04\x05\x07\x02\0\x12\x04\xe7\x02\x04\x0f\x1a;\x20KS_HAS\x20is\x20used\ + \x20to\x20check\x20if\x20the\x20key\x20exists\x20in\x20our\x20keystore\n\ + \n\r\n\x05\x05\x07\x02\0\x01\x12\x04\xe7\x02\x04\n\n\r\n\x05\x05\x07\x02\ + \0\x02\x12\x04\xe7\x02\r\x0e\nN\n\x04\x05\x07\x02\x01\x12\x04\xe9\x02\ + \x04\x0f\x1a@\x20KS_GET\x20is\x20used\x20to\x20retrieve\x20private\x20ke\ + y\x20bytes\x20from\x20our\x20keystore\n\n\r\n\x05\x05\x07\x02\x01\x01\ + \x12\x04\xe9\x02\x04\n\n\r\n\x05\x05\x07\x02\x01\x02\x12\x04\xe9\x02\r\ + \x0e\nI\n\x04\x05\x07\x02\x02\x12\x04\xeb\x02\x04\x0f\x1a;\x20KS_PUT\x20\ + is\x20used\x20to\x20store\x20private\x20key\x20bytes\x20in\x20our\x20key\ + store\n\n\r\n\x05\x05\x07\x02\x02\x01\x12\x04\xeb\x02\x04\n\n\r\n\x05\ + \x05\x07\x02\x02\x02\x12\x04\xeb\x02\r\x0e\nJ\n\x04\x05\x07\x02\x03\x12\ + \x04\xed\x02\x04\x12\x1a<\x20KS_DELETE\x20is\x20used\x20to\x20delete\x20\ + private\x20keys\x20from\x20our\x20keystore\n\n\r\n\x05\x05\x07\x02\x03\ + \x01\x12\x04\xed\x02\x04\r\n\r\n\x05\x05\x07\x02\x03\x02\x12\x04\xed\x02\ + \x10\x11\nN\n\x04\x05\x07\x02\x04\x12\x04\xef\x02\x04\x10\x1a@\x20KS_LIS\ + T\x20is\x20used\x20to\x20list\x20all\x20keys\x20in\x20our\x20keystore\ + \x20by\x20their\x20name\n\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\xef\x02\ + \x04\x0b\n\r\n\x05\x05\x07\x02\x04\x02\x12\x04\xef\x02\x0e\x0f\n8\n\x02\ + \x04\x10\x12\x06\xf3\x02\0\xfc\x02\x01\x1a*\x20Used\x20to\x20submit\x20a\ + \x20request\x20to\x20Keystore\x20RPC\n\n\x0b\n\x03\x04\x10\x01\x12\x04\ + \xf3\x02\x08\x17\n:\n\x04\x04\x10\x02\0\x12\x04\xf5\x02\x04\x1e\x1a,\x20\ + indicates\x20the\x20request\x20type\x20being\x20performed\n\n\x0f\n\x05\ + \x04\x10\x02\0\x04\x12\x06\xf5\x02\x04\xf3\x02\x19\n\r\n\x05\x04\x10\x02\ + \0\x06\x12\x04\xf5\x02\x04\r\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xf5\x02\ + \x0e\x19\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\xf5\x02\x1c\x1d\n^\n\x04\ + \x04\x10\x02\x01\x12\x04\xf8\x02\x04\x14\x1aP\x20name\x20of\x20the\x20ke\ + y\x20the\x20request\x20is\x20for\n\x20sent\x20by:\x20KS_HAS,\x20KS_GET,\ + \x20KS_PUT,\x20KS_DELETE\n\n\x0f\n\x05\x04\x10\x02\x01\x04\x12\x06\xf8\ + \x02\x04\xf5\x02\x1e\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xf8\x02\x04\n\ + \n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xf8\x02\x0b\x0f\n\r\n\x05\x04\x10\ + \x02\x01\x03\x12\x04\xf8\x02\x12\x13\n=\n\x04\x04\x10\x02\x02\x12\x04\ + \xfb\x02\x04\x19\x1a/\x20the\x20actual\x20private\x20key\x20bytes\n\x20s\ + ent\x20by:\x20KS_PUT\n\n\x0f\n\x05\x04\x10\x02\x02\x04\x12\x06\xfb\x02\ + \x04\xf8\x02\x14\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\xfb\x02\x04\t\n\r\ + \n\x05\x04\x10\x02\x02\x01\x12\x04\xfb\x02\n\x14\n\r\n\x05\x04\x10\x02\ + \x02\x03\x12\x04\xfb\x02\x17\x18\n2\n\x02\x04\x11\x12\x06\xff\x02\0\x8b\ + \x03\x01\x1a$\x20Used\x20in\x20response\x20to\x20a\x20Keystore\x20RPC\n\ + \n\x0b\n\x03\x04\x11\x01\x12\x04\xff\x02\x08\x18\n:\n\x04\x04\x11\x02\0\ + \x12\x04\x81\x03\x04\x1e\x1a,\x20indicates\x20the\x20request\x20type\x20\ + being\x20performed\n\n\x0f\n\x05\x04\x11\x02\0\x04\x12\x06\x81\x03\x04\ + \xff\x02\x1a\n\r\n\x05\x04\x11\x02\0\x06\x12\x04\x81\x03\x04\r\n\r\n\x05\ + \x04\x11\x02\0\x01\x12\x04\x81\x03\x0e\x19\n\r\n\x05\x04\x11\x02\0\x03\ + \x12\x04\x81\x03\x1c\x1d\n6\n\x04\x04\x11\x02\x01\x12\x04\x84\x03\x04\ + \x19\x1a(\x20the\x20private\x20key\x20bytes\n\x20sent\x20by:\x20KS_GET\n\ + \n\x0f\n\x05\x04\x11\x02\x01\x04\x12\x06\x84\x03\x04\x81\x03\x1e\n\r\n\ + \x05\x04\x11\x02\x01\x05\x12\x04\x84\x03\x04\t\n\r\n\x05\x04\x11\x02\x01\ + \x01\x12\x04\x84\x03\n\x14\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\x84\x03\ + \x17\x18\n>\n\x04\x04\x11\x02\x02\x12\x04\x87\x03\x04!\x1a0\x20contains\ + \x20all\x20known\x20key\x20names\n\x20sent\x20by:\x20KS_LIST\n\n\r\n\x05\ + \x04\x11\x02\x02\x04\x12\x04\x87\x03\x04\x0c\n\r\n\x05\x04\x11\x02\x02\ + \x05\x12\x04\x87\x03\r\x13\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\x87\x03\ + \x14\x1c\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\x87\x03\x1f\x20\nM\n\x04\ + \x04\x11\x02\x03\x12\x04\x8a\x03\x04\x11\x1a?\x20indicates\x20if\x20we\ + \x20have\x20the\x20key\x20in\x20our\x20keystore\n\x20sent\x20by:\x20KS_H\ + AS\n\n\x0f\n\x05\x04\x11\x02\x03\x04\x12\x06\x8a\x03\x04\x87\x03!\n\r\n\ + \x05\x04\x11\x02\x03\x05\x12\x04\x8a\x03\x04\x08\n\r\n\x05\x04\x11\x02\ + \x03\x01\x12\x04\x8a\x03\t\x0c\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\x8a\ + \x03\x0f\x10\n\x0c\n\x02\x04\x12\x12\x06\x8d\x03\0\x94\x03\x01\n\x0b\n\ + \x03\x04\x12\x01\x12\x04\x8d\x03\x08\x16\n'\n\x04\x04\x12\x02\0\x12\x04\ + \x8f\x03\x04\x1d\x1a\x19\x20cids\x20to\x20persist\x20locally\n\n\r\n\x05\ + \x04\x12\x02\0\x04\x12\x04\x8f\x03\x04\x0c\n\r\n\x05\x04\x12\x02\0\x05\ + \x12\x04\x8f\x03\r\x13\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\x8f\x03\x14\ + \x18\n\r\n\x05\x04\x12\x02\0\x03\x12\x04\x8f\x03\x1b\x1c\n;\n\x04\x04\ + \x12\x02\x01\x12\x04\x91\x03\x04\x15\x1a-\x20optional\x20reference\x20ID\ + \x20to\x20mark\x20the\x20cids\x20with\n\n\x0f\n\x05\x04\x12\x02\x01\x04\ + \x12\x06\x91\x03\x04\x8f\x03\x1d\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\ + \x91\x03\x04\n\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\x91\x03\x0b\x10\n\r\ + \n\x05\x04\x12\x02\x01\x03\x12\x04\x91\x03\x13\x14\n:\n\x04\x04\x12\x02\ + \x02\x12\x04\x93\x03\x04\x19\x1a,\x20if\x20refID\x20is\x20set,\x20allows\ + \x20progressive\x20upload\n\n\x0f\n\x05\x04\x12\x02\x02\x04\x12\x06\x93\ + \x03\x04\x91\x03\x15\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\x93\x03\x04\ + \x08\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\x93\x03\t\x14\n\r\n\x05\x04\ + \x12\x02\x02\x03\x12\x04\x93\x03\x17\x18\n\x0c\n\x02\x04\x13\x12\x06\x96\ + \x03\0\x9b\x03\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\x96\x03\x08\x17\nB\n\ + \x04\x04\x13\x02\0\x12\x04\x98\x03\x04!\x1a4\x20key\x20=\x20cid,\x20valu\ + e\x20=\x20whether\x20or\x20not\x20it\x20was\x20persisted\n\n\x0f\n\x05\ + \x04\x13\x02\0\x04\x12\x06\x98\x03\x04\x96\x03\x19\n\r\n\x05\x04\x13\x02\ + \0\x06\x12\x04\x98\x03\x04\x15\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\x98\ + \x03\x16\x1c\n\r\n\x05\x04\x13\x02\0\x03\x12\x04\x98\x03\x1f\x20\n9\n\ + \x04\x04\x13\x02\x01\x12\x04\x9a\x03\x04#\x1a+\x20key\x20=\x20cid,\x20va\ + lue\x20=\x20error\x20if\x20not\x20persisted\n\n\x0f\n\x05\x04\x13\x02\ + \x01\x04\x12\x06\x9a\x03\x04\x98\x03!\n\r\n\x05\x04\x13\x02\x01\x06\x12\ + \x04\x9a\x03\x04\x17\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\x9a\x03\x18\ + \x1e\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\x9a\x03!\"b\x06proto3\ "; static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; diff --git a/rs/src/pubsub.rs b/rs/src/pubsub.rs index 807e5ad..8e32227 100644 --- a/rs/src/pubsub.rs +++ b/rs/src/pubsub.rs @@ -1183,7 +1183,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ rID\x18\x02\x20\x01(\tR\x06peerID*S\n\tPSREQTYPE\x12\x11\n\rPS_GET_TOPIC\ S\x10\0\x12\x11\n\rPS_LIST_PEERS\x10\x01\x12\x10\n\x0cPS_SUBSCRIBE\x10\ \x02\x12\x0e\n\nPS_PUBLISH\x10\x032B\n\tPubSubAPI\x125\n\x06PubSub\x12\ - \x11.pb.PubSubRequest\x1a\x12.pb.PubSubResponse\"\0(\x010\x01J\xe5\x15\n\ + \x11.pb.PubSubRequest\x1a\x12.pb.PubSubResponse\"\0(\x010\x01J\xe4\x15\n\ \x06\x12\x04\0\0E\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\ \x12\x03\x01\x08\n\nv\n\x02\x06\0\x12\x04\x05\0\t\x01\x1aj\x20PubSubAPI\ \x20provides\x20a\x20libp2p\x20pubsub\x20API\x20and\x20is\x20equivalent\ @@ -1208,27 +1208,27 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x12\x04\x15\x1aP\x20PS_SUBSCRIBE\x20is\x20used\x20to\x20establish\x20a\ \x20persistent\x20subscription\x20to\x20a\x20pubsub\x20topic\r\n\n\x0c\n\ \x05\x05\0\x02\x02\x01\x12\x03\x12\x04\x10\n\x0c\n\x05\x05\0\x02\x02\x02\ - \x12\x03\x12\x13\x14\nJ\n\x04\x05\0\x02\x03\x12\x03\x14\x04\x13\x1a=\x20\ - PS_PUBLISH\x20is\x20used\x20to\x20publisbh\x20a\x20message\x20to\x20a\ - \x20pubsub\x20topic\r\n\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x14\x04\ - \x0e\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x14\x11\x12\n\n\n\x02\x04\0\ - \x12\x04\x17\0\x20\x01\n\n\n\x03\x04\0\x01\x12\x03\x17\x08\x15\nJ\n\x04\ - \x04\0\x02\0\x12\x03\x19\x04\x1e\x1a=\x20indicates\x20the\x20particular\ - \x20PubSubAPI\x20request\x20being\x20performed\r\n\n\r\n\x05\x04\0\x02\0\ - \x04\x12\x04\x19\x04\x17\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x19\x04\ - \r\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x19\x0e\x19\n\x0c\n\x05\x04\0\x02\ - \0\x03\x12\x03\x19\x1c\x1d\ns\n\x04\x04\0\x02\x01\x12\x03\x1c\x04\x1f\ - \x1af\x20topics\x20to\x20request\x20peers\x20from,\x20or\x20publish\x20d\ - ata\x20to\r\n\x20sent\x20by:\x20PS_LIST_PEERS,\x20PS_SUBSCRIBE,\x20PS_PU\ - BLISH\r\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x1c\x04\x0c\n\x0c\n\x05\ - \x04\0\x02\x01\x05\x12\x03\x1c\r\x13\n\x0c\n\x05\x04\0\x02\x01\x01\x12\ - \x03\x1c\x14\x1a\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x1c\x1d\x1e\n<\n\ - \x04\x04\0\x02\x02\x12\x03\x1f\x04\x13\x1a/\x20data\x20to\x20sent\x20to\ - \x20topics\r\n\x20sent\x20by:\x20PS_PUBLISH\r\n\n\r\n\x05\x04\0\x02\x02\ - \x04\x12\x04\x1f\x04\x1c\x1f\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x1f\ - \x04\t\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x1f\n\x0e\n\x0c\n\x05\x04\0\ - \x02\x02\x03\x12\x03\x1f\x11\x12\n\n\n\x02\x04\x01\x12\x04\"\0.\x01\n\n\ - \n\x03\x04\x01\x01\x12\x03\"\x08\x16\nJ\n\x04\x04\x01\x02\0\x12\x03$\x04\ + \x12\x03\x12\x13\x14\nI\n\x04\x05\0\x02\x03\x12\x03\x14\x04\x13\x1a<\x20\ + PS_PUBLISH\x20is\x20used\x20to\x20publish\x20a\x20message\x20to\x20a\x20\ + pubsub\x20topic\r\n\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x14\x04\x0e\n\ + \x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x14\x11\x12\n\n\n\x02\x04\0\x12\x04\ + \x17\0\x20\x01\n\n\n\x03\x04\0\x01\x12\x03\x17\x08\x15\nJ\n\x04\x04\0\ + \x02\0\x12\x03\x19\x04\x1e\x1a=\x20indicates\x20the\x20particular\x20Pub\ + SubAPI\x20request\x20being\x20performed\r\n\n\r\n\x05\x04\0\x02\0\x04\ + \x12\x04\x19\x04\x17\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x19\x04\r\n\ + \x0c\n\x05\x04\0\x02\0\x01\x12\x03\x19\x0e\x19\n\x0c\n\x05\x04\0\x02\0\ + \x03\x12\x03\x19\x1c\x1d\ns\n\x04\x04\0\x02\x01\x12\x03\x1c\x04\x1f\x1af\ + \x20topics\x20to\x20request\x20peers\x20from,\x20or\x20publish\x20data\ + \x20to\r\n\x20sent\x20by:\x20PS_LIST_PEERS,\x20PS_SUBSCRIBE,\x20PS_PUBLI\ + SH\r\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x1c\x04\x0c\n\x0c\n\x05\x04\ + \0\x02\x01\x05\x12\x03\x1c\r\x13\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\ + \x1c\x14\x1a\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x1c\x1d\x1e\n<\n\x04\ + \x04\0\x02\x02\x12\x03\x1f\x04\x13\x1a/\x20data\x20to\x20sent\x20to\x20t\ + opics\r\n\x20sent\x20by:\x20PS_PUBLISH\r\n\n\r\n\x05\x04\0\x02\x02\x04\ + \x12\x04\x1f\x04\x1c\x1f\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x1f\x04\t\ + \n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x1f\n\x0e\n\x0c\n\x05\x04\0\x02\ + \x02\x03\x12\x03\x1f\x11\x12\n\n\n\x02\x04\x01\x12\x04\"\0.\x01\n\n\n\ + \x03\x04\x01\x01\x12\x03\"\x08\x16\nJ\n\x04\x04\x01\x02\0\x12\x03$\x04\ \x1e\x1a=\x20indicates\x20the\x20particular\x20PubSubAPI\x20request\x20b\ eing\x20performed\r\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04$\x04\"\x18\n\ \x0c\n\x05\x04\x01\x02\0\x06\x12\x03$\x04\r\n\x0c\n\x05\x04\x01\x02\0\ diff --git a/rs/src/util.rs b/rs/src/util.rs index f0b644c..bd4d819 100644 --- a/rs/src/util.rs +++ b/rs/src/util.rs @@ -300,18 +300,17 @@ impl ::protobuf::reflect::ProtobufValue for Empty { static file_descriptor_proto_data: &'static [u8] = b"\ \n\nutil.proto\x12\x02pb\"!\n\x0bPutResponse\x12\x12\n\x04hash\x18\x01\ - \x20\x01(\tR\x04hash\"\x07\n\x05EmptyJ\xb6\x02\n\x06\x12\x04\0\0\n\x10\n\ - \x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\nK\n\ - \x02\x04\0\x12\x04\x04\0\x07\x01\x1a?\x20PutResponse\x20is\x20a\x20respo\ - nse\x20to\x20any\x20data\x20storage\x20(put)\x20requests\r\n\n\n\n\x03\ - \x04\0\x01\x12\x03\x04\x08\x13\nQ\n\x04\x04\0\x02\0\x12\x03\x06\x04\x14\ - \x1aD\x20hash\x20is\x20hash/cid\x20(content\x20identifier)\x20of\x20the\ - \x20data\x20that\x20was\x20stored\r\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\ - \x06\x04\x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x06\x04\n\n\x0c\n\ - \x05\x04\0\x02\0\x01\x12\x03\x06\x0b\x0f\n\x0c\n\x05\x04\0\x02\0\x03\x12\ - \x03\x06\x12\x13\n'\n\x02\x04\x01\x12\x03\n\0\x10\x1a\x1c\x20Empty\x20is\ - \x20an\x20empty\x20message\r\n\n\n\n\x03\x04\x01\x01\x12\x03\n\x08\rb\ - \x06proto3\ + \x20\x01(\tR\x04hash\"\x07\n\x05EmptyJ\xb3\x02\n\x06\x12\x04\0\0\n\x10\n\ + \x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\x08\n\nJ\n\ + \x02\x04\0\x12\x04\x04\0\x07\x01\x1a>\x20PutResponse\x20is\x20a\x20respo\ + nse\x20to\x20any\x20data\x20storage\x20(put)\x20requests\n\n\n\n\x03\x04\ + \0\x01\x12\x03\x04\x08\x13\nP\n\x04\x04\0\x02\0\x12\x03\x06\x04\x14\x1aC\ + \x20hash\x20is\x20hash/cid\x20(content\x20identifier)\x20of\x20the\x20da\ + ta\x20that\x20was\x20stored\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x06\x04\ + \x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x06\x04\n\n\x0c\n\x05\x04\0\ + \x02\0\x01\x12\x03\x06\x0b\x0f\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x06\ + \x12\x13\n&\n\x02\x04\x01\x12\x03\n\0\x10\x1a\x1b\x20Empty\x20is\x20an\ + \x20empty\x20message\n\n\n\n\x03\x04\x01\x01\x12\x03\n\x08\rb\x06proto3\ "; static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT; diff --git a/ts/file_pb.d.ts b/ts/file_pb.d.ts index 1ff569a..ee61f0f 100644 --- a/ts/file_pb.d.ts +++ b/ts/file_pb.d.ts @@ -48,6 +48,9 @@ export class UploadOptions extends jspb.Message { getProgressive(): boolean; setProgressive(value: boolean): void; + getReplace(): boolean; + setReplace(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UploadOptions.AsObject; static toObject(includeInstance: boolean, msg: UploadOptions): UploadOptions.AsObject; @@ -65,6 +68,7 @@ export namespace UploadOptions { chunker: string, refid: string, progressive: boolean, + replace: boolean, } } diff --git a/ts/node_pb.d.ts b/ts/node_pb.d.ts index f837244..ffd599a 100644 --- a/ts/node_pb.d.ts +++ b/ts/node_pb.d.ts @@ -291,6 +291,9 @@ export class BlockstoreRequest extends jspb.Message { getProgressive(): boolean; setProgressive(value: boolean): void; + getReplace(): boolean; + setReplace(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): BlockstoreRequest.AsObject; static toObject(includeInstance: boolean, msg: BlockstoreRequest): BlockstoreRequest.AsObject; @@ -311,6 +314,7 @@ export namespace BlockstoreRequest { hashfunc: string, refid: string, progressive: boolean, + replace: boolean, } } @@ -402,6 +406,9 @@ export class DagRequest extends jspb.Message { getProgressive(): boolean; setProgressive(value: boolean): void; + getReplace(): boolean; + setReplace(value: boolean): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): DagRequest.AsObject; static toObject(includeInstance: boolean, msg: DagRequest): DagRequest.AsObject; @@ -424,6 +431,7 @@ export namespace DagRequest { linksMap: Array<[string, string]>, refid: string, progressive: boolean, + replace: boolean, } }