From 596a315c5f8ed20bc1a921914cd4a0cc804abe00 Mon Sep 17 00:00:00 2001 From: Sergey Cherepanov Date: Thu, 5 Jan 2023 15:34:09 +0300 Subject: [PATCH] make common module as any-sync repo --- .gitignore | 5 - Makefile | 39 +- README.md | 12 - .../accountservice.go | 6 +- .../mock_accountservice/helper.go | 4 +- .../mock_accountservice.go | 6 +- {common/app => app}/app.go | 2 +- {common/app => app}/app_test.go | 0 {common/app => app}/ldiff/diff.go | 2 +- {common/app => app}/ldiff/diff_test.go | 0 .../ldiff/mock_ldiff/mock_ldiff.go | 4 +- {common/app => app}/logger/config.go | 0 {common/app => app}/logger/log.go | 0 {common/app => app}/ocache/metrics.go | 0 {common/app => app}/ocache/ocache.go | 2 +- {common/app => app}/ocache/ocache_test.go | 0 bin/.gitignore | 2 - client/Makefile | 14 - client/account/service.go | 71 - client/badgerprovider/config.go | 9 - client/badgerprovider/service.go | 44 - client/clientspace/clientcache/treecache.go | 149 - client/clientspace/rpchandler.go | 75 - client/clientspace/service.go | 111 - client/clientspace/space.go | 22 - client/clientspace/statusreceiver.go | 20 - client/cmd/client.go | 118 - client/config/config.go | 75 - client/debug/clientdebugrpc/clientdebugrpc.go | 88 - .../clientdebugrpcproto/clientdebugrpc.pb.go | 5777 ----------------- .../clientdebugrpc_drpc.pb.go | 673 -- .../protos/clientdebugrpc.proto | 124 - client/debug/clientdebugrpc/rpchandler.go | 222 - client/document/service.go | 117 - .../textchangeproto/protos/textchange.proto | 22 - .../document/textchangeproto/textchange.pb.go | 968 --- client/document/textdocument/textdocument.go | 114 - .../badgerfilestore/badgerfileindex.go | 255 - .../badgerfilestore/badgerfileindex_test.go | 104 - .../badgerfilestore/badgerfilestore.go | 135 - .../badgerfilestore/badgerfilestore_test.go | 101 - client/filestorage/fileservice.go | 62 - client/filestorage/proxystore.go | 137 - client/filestorage/proxystore_test.go | 280 - client/filestorage/rpcstore/client.go | 301 - client/filestorage/rpcstore/clientmgr.go | 124 - client/filestorage/rpcstore/service.go | 48 - client/filestorage/rpcstore/stat.go | 55 - client/filestorage/rpcstore/store.go | 151 - client/filestorage/rpcstore/store_test.go | 198 - client/filestorage/rpcstore/task.go | 60 - client/filestorage/syncer.go | 145 - client/filestorage/syncer_test.go | 106 - client/go.mod | 114 - client/go.sum | 868 --- client/storage/helpers.go | 41 - client/storage/keys.go | 109 - client/storage/liststorage.go | 119 - client/storage/liststorage_test.go | 72 - client/storage/spacestorage.go | 194 - client/storage/spacestorage_test.go | 126 - client/storage/storageservice.go | 84 - client/storage/treestorage.go | 181 - client/storage/treestorage_test.go | 188 - common/Makefile | 20 - .../synctree/updatelistener/updatelistener.go | 11 - .../fileblockstore/fileblockstore.go | 4 +- .../fileproto/file.pb.go | 0 .../fileproto/file_drpc.pb.go | 0 .../fileproto/fileprotoerr/fileprotoerr.go | 4 +- .../fileproto/protos/file.proto | 0 .../fileservice/blockservice.go | 2 +- .../fileservice/fileservice.go | 6 +- .../commongetter.go | 8 +- .../commonstorage.go | 4 +- .../confconnector/confconnector.go | 8 +- .../mock_confconnector/mock_confconnector.go | 8 +- {common/commonspace => commonspace}/config.go | 0 .../headsync/diffsyncer.go | 20 +- .../headsync/diffsyncer_test.go | 28 +- .../headsync/headsync.go | 18 +- .../headsync/headsync_test.go | 16 +- .../headsync/mock_headsync/mock_headsync.go | 4 +- .../headsync/remotediff.go | 4 +- .../headsync/remotediff_test.go | 4 +- .../object/accountdata/accountdata.go | 4 +- .../acl/aclrecordproto/aclreadkeyderive.go | 2 +- .../object/acl/aclrecordproto/aclrecord.pb.go | 0 .../acl/aclrecordproto/protos/aclrecord.proto | 0 .../object/acl/list/aclrecordbuilder.go | 10 +- .../object/acl/list/aclrecordbuilder_test.go | 12 +- .../object/acl/list/aclstate.go | 14 +- .../object/acl/list/aclstatebuilder.go | 6 +- .../object/acl/list/list.go | 10 +- .../object/acl/list/list_test.go | 4 +- .../object/acl/list/mock_list/mock_list.go | 6 +- .../object/acl/list/record.go | 0 .../object/acl/liststorage/inmemory.go | 2 +- .../object/acl/liststorage/liststorage.go | 4 +- .../mock_liststorage/mock_liststorage.go | 4 +- .../object/acl/syncacl/syncacl.go | 6 +- .../object/acl/syncacl/syncaclhandler.go | 6 +- .../acl/testutils/acllistbuilder/keychain.go | 10 +- .../acllistbuilder/liststoragebuilder.go | 16 +- .../acllistbuilder/liststoragebuildergraph.go | 0 .../liststoragebuildergraph_nix.go | 2 +- .../testutils/acllistbuilder/ymlentities.go | 0 .../object/acl/testutils/yamltests/path.go | 0 .../testutils/yamltests/userjoinexample.yml | 0 .../testutils/yamltests/userremoveexample.yml | 0 .../object/keychain/keychain.go | 2 +- .../syncobjectgetter/syncobjectgetter.go | 2 +- .../object/tree/objecttree/change.go | 2 +- .../object/tree/objecttree/changebuilder.go | 10 +- .../object/tree/objecttree/changevalidator.go | 4 +- .../tree/objecttree/descriptionparser.go | 0 .../mock_objecttree/mock_objecttree.go | 8 +- .../object/tree/objecttree/objecttree.go | 16 +- .../object/tree/objecttree/objecttree_test.go | 8 +- .../tree/objecttree/objecttreefactory.go | 14 +- .../object/tree/objecttree/rawloader.go | 6 +- .../tree/objecttree/rawtreevalidator.go | 4 +- .../object/tree/objecttree/signablecontent.go | 2 +- .../object/tree/objecttree/tree.go | 0 .../object/tree/objecttree/tree_test.go | 0 .../object/tree/objecttree/treebuilder.go | 6 +- .../object/tree/objecttree/treegraph.go | 0 .../object/tree/objecttree/treegraph_nix.go | 0 .../object/tree/objecttree/treeiterator.go | 0 .../object/tree/objecttree/treereduce.go | 0 .../object/tree/objecttree/util.go | 0 .../synctree/mock_synctree/mock_synctree.go | 10 +- .../object/tree/synctree/queuedclient.go | 4 +- .../object/tree/synctree/receivequeue.go | 2 +- .../object/tree/synctree/requestfactory.go | 6 +- .../object/tree/synctree/syncclient.go | 12 +- .../object/tree/synctree/synctree.go | 24 +- .../object/tree/synctree/synctree_test.go | 18 +- .../object/tree/synctree/synctreehandler.go | 12 +- .../tree/synctree/synctreehandler_test.go | 10 +- .../mock_updatelistener.go | 4 +- .../synctree/updatelistener/updatelistener.go | 11 + .../treechangeproto/protos/treechange.proto | 0 .../object/tree/treechangeproto/treechange.go | 0 .../tree/treechangeproto/treechange.pb.go | 0 .../object/tree/treestorage/helpers.go | 0 .../object/tree/treestorage/inmemory.go | 2 +- .../mock_treestorage/mock_storage.go | 6 +- .../object/tree/treestorage/treestorage.go | 2 +- .../mock_treegetter/mock_treegetter.go | 6 +- .../object/treegetter/treegetter.go | 6 +- .../objectsync/actionqueue.go | 0 .../objectsync/actionqueue_test.go | 0 .../mock_objectsync/mock_objectsync.go | 4 +- .../objectsync/objectsync.go | 14 +- .../objectsync/streamchecker.go | 8 +- .../objectsync/streampool.go | 6 +- .../objectsync/streampool_test.go | 6 +- .../objectsync/synchandler/synchhandler.go | 2 +- .../commonspace => commonspace}/payloads.go | 14 +- .../commonspace => commonspace}/rpchandler.go | 2 +- .../settings/deleteloop.go | 0 .../settings/deleter.go | 6 +- .../settings/deleter_test.go | 8 +- .../settings/deletionstate/deletionstate.go | 6 +- .../deletionstate/deletionstate_test.go | 4 +- .../mock_deletionstate/mock_deletionstate.go | 4 +- .../settings/idprovider.go | 4 +- .../settings/idprovider_test.go | 6 +- .../settings/mock_settings/mock_settings.go | 4 +- .../settings/settings.go | 18 +- .../settings/settings_test.go | 22 +- {common/commonspace => commonspace}/space.go | 40 +- .../spaceservice.go | 30 +- .../mock_spacestorage/mock_spacestorage.go | 10 +- .../spacestorage/spacestorage.go | 14 +- .../spacesyncproto/errors.go | 2 +- .../mock_spacesyncproto.go | 4 +- .../spacesyncproto/protos/spacesync.proto | 0 .../spacesyncproto/spacesync.go | 2 +- .../spacesyncproto/spacesync.pb.go | 0 .../spacesyncproto/spacesync_drpc.pb.go | 0 .../syncstatus/noop.go | 0 .../syncstatus/syncstatus.go | 12 +- consensus/Makefile | 12 - consensus/account/service.go | 61 - consensus/cmd/consensusnode.go | 97 - consensus/config/config.go | 57 - consensus/config/mongo.go | 7 - consensus/consensus.go | 16 - consensus/consensusclient/client.go | 244 - consensus/consensusclient/client_test.go | 255 - .../mock_consensusclient.go | 150 - consensus/consensusclient/stream.go | 70 - consensus/consensusproto/consensus.pb.go | 1957 ------ consensus/consensusproto/consensus_drpc.pb.go | 228 - .../consensusproto/consensuserr/errors.go | 16 - .../consensusproto/protos/consensus.proto | 60 - consensus/consensusrpc/consensrpc.go | 134 - consensus/db/db.go | 188 - consensus/db/db_test.go | 218 - consensus/go.mod | 69 - consensus/go.sum | 618 -- consensus/stream/object.go | 66 - consensus/stream/service.go | 152 - consensus/stream/service_test.go | 217 - consensus/stream/stream.go | 87 - etc/client.yml | 42 - etc/config.yml | 42 - etc/configs/client1.yml | 72 - etc/configs/client2.yml | 72 - etc/configs/cons1.yml | 22 - etc/configs/cons2.yml | 22 - etc/configs/cons3.yml | 22 - etc/configs/file1.yml | 16 - etc/configs/node1.yml | 72 - etc/configs/node2.yml | 72 - etc/configs/node3.yml | 72 - etc/consensus-node.yml | 11 - etc/path.go | 15 - filenode/Makefile | 9 - filenode/account/service.go | 69 - filenode/cmd/filenode.go | 93 - filenode/config/config.go | 55 - filenode/config/filestore.go | 5 - filenode/filepogreb/filepogreb.go | 99 - filenode/fileserver/fileserver.go | 31 - filenode/fileserver/rpchandler.go | 79 - filenode/go.mod | 56 - filenode/go.sum | 598 -- common/go.mod => go.mod | 2 +- common/go.sum => go.sum | 0 go.work | 10 - go.work.sum | 463 -- {common/metric => metric}/config.go | 0 {common/metric => metric}/drpc.go | 0 {common/metric => metric}/metric.go | 2 +- {common/net => net}/config.go | 0 {common/net => net}/dialer/dialer.go | 14 +- {common/net => net}/peer/context.go | 0 {common/net => net}/peer/peer.go | 0 {common/net => net}/pool/pool.go | 10 +- {common/net => net}/pool/pool_test.go | 6 +- {common/net => net}/rpc/rpcerr/registry.go | 0 {common/net => net}/rpc/rpctest/pool.go | 6 +- {common/net => net}/rpc/rpctest/server.go | 0 {common/net => net}/rpc/server/baseserver.go | 2 +- {common/net => net}/rpc/server/drpcserver.go | 10 +- {common/net => net}/rpc/server/util.go | 0 .../net => net}/rpc/server/util_windows.go | 0 .../secureservice/basiclistener.go | 2 +- .../secureservice/secureservice.go | 8 +- .../net => net}/secureservice/tlslistener.go | 4 +- {common/net => net}/timeoutconn/conn.go | 0 node/Makefile | 13 - node/account/service.go | 71 - node/acl/service.go | 134 - node/acl/service_test.go | 195 - node/acl/util.go | 19 - node/acl/util_test.go | 16 - node/acl/watcher.go | 93 - node/cmd/node.go | 107 - node/config/config.go | 75 - node/debug/nodedebugrpc/nodedebugrpc.go | 76 - .../nodedebugrpcproto/nodedebugrpc.pb.go | 1868 ------ .../nodedebugrpcproto/nodedebugrpc_drpc.pb.go | 233 - .../protos/nodedebugrpc.proto | 50 - node/debug/nodedebugrpc/rpchandler.go | 68 - node/go.mod | 70 - node/go.sum | 621 -- node/nodespace/nodecache/treecache.go | 85 - node/nodespace/rpchandler.go | 83 - node/nodespace/service.go | 118 - node/nodespace/space.go | 24 - node/storage/config.go | 9 - node/storage/keys.go | 96 - node/storage/liststorage.go | 129 - node/storage/liststorage_test.go | 70 - node/storage/spacestorage.go | 232 - node/storage/spacestorage_test.go | 125 - node/storage/storageservice.go | 60 - node/storage/treestorage.go | 170 - node/storage/treestorage_test.go | 169 - {common/nodeconf => nodeconf}/config.go | 0 .../nodeconf => nodeconf}/configuration.go | 6 +- .../mock_nodeconf/mock_nodeconf.go | 6 +- {common/nodeconf => nodeconf}/service.go | 12 +- .../accounttest/accountservice.go | 10 +- {common/util => util}/cidutil/cid.go | 0 util/cmd/benchmarks/db/badger.go | 172 - util/cmd/benchmarks/db/common.go | 30 - util/cmd/benchmarks/db/pogreb.go | 95 - util/cmd/benchmarks/dbbench.go | 190 - util/cmd/debug/commands/client/service.go | 169 - util/cmd/debug/commands/clientcmds.go | 349 - util/cmd/debug/commands/node/service.go | 70 - util/cmd/debug/commands/nodecmds.go | 141 - util/cmd/debug/commands/nodesmap.go | 15 - util/cmd/debug/commands/scripts.go | 354 - util/cmd/debug/commands/service.go | 112 - util/cmd/debug/debug.go | 55 - util/cmd/debug/drpcclient/service.go | 90 - util/cmd/deploy/deploy.go | 368 -- util/cmd/nodesgen/gen.go | 412 -- util/cmd/nodesgen/nodemap.yml | 32 - util/debug.json | 1 - util/go.mod | 70 - util/go.sum | 624 -- .../asymmetric/encryptionkey/encryptionkey.go | 2 +- .../keys/asymmetric/encryptionkey/rsa.go | 2 +- .../keys/asymmetric/signingkey/ed25519.go | 2 +- .../keys/asymmetric/signingkey/signingkey.go | 2 +- {common/util => util}/keys/decode.go | 0 {common/util => util}/keys/key.go | 0 .../util => util}/keys/symmetric/symmetric.go | 0 {common/util => util}/peer/peer.go | 2 +- .../mock_periodicsync/mock_periodicsync.go | 2 +- .../periodicsync/periodicsync.go | 2 +- .../periodicsync/periodicsync_test.go | 2 +- {common/util => util}/slice/slice.go | 0 320 files changed, 453 insertions(+), 29202 deletions(-) delete mode 100644 README.md rename {common/accountservice => accountservice}/accountservice.go (62%) rename {common/accountservice => accountservice}/mock_accountservice/helper.go (67%) rename {common/accountservice => accountservice}/mock_accountservice/mock_accountservice.go (87%) rename {common/app => app}/app.go (98%) rename {common/app => app}/app_test.go (100%) rename {common/app => app}/ldiff/diff.go (98%) rename {common/app => app}/ldiff/diff_test.go (100%) rename {common/app => app}/ldiff/mock_ldiff/mock_ldiff.go (96%) rename {common/app => app}/logger/config.go (100%) rename {common/app => app}/logger/log.go (100%) rename {common/app => app}/ocache/metrics.go (100%) rename {common/app => app}/ocache/ocache.go (99%) rename {common/app => app}/ocache/ocache_test.go (100%) delete mode 100644 bin/.gitignore delete mode 100644 client/Makefile delete mode 100644 client/account/service.go delete mode 100644 client/badgerprovider/config.go delete mode 100644 client/badgerprovider/service.go delete mode 100644 client/clientspace/clientcache/treecache.go delete mode 100644 client/clientspace/rpchandler.go delete mode 100644 client/clientspace/service.go delete mode 100644 client/clientspace/space.go delete mode 100644 client/clientspace/statusreceiver.go delete mode 100644 client/cmd/client.go delete mode 100644 client/config/config.go delete mode 100644 client/debug/clientdebugrpc/clientdebugrpc.go delete mode 100644 client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc.pb.go delete mode 100644 client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc_drpc.pb.go delete mode 100644 client/debug/clientdebugrpc/clientdebugrpcproto/protos/clientdebugrpc.proto delete mode 100644 client/debug/clientdebugrpc/rpchandler.go delete mode 100644 client/document/service.go delete mode 100644 client/document/textchangeproto/protos/textchange.proto delete mode 100644 client/document/textchangeproto/textchange.pb.go delete mode 100644 client/document/textdocument/textdocument.go delete mode 100644 client/filestorage/badgerfilestore/badgerfileindex.go delete mode 100644 client/filestorage/badgerfilestore/badgerfileindex_test.go delete mode 100644 client/filestorage/badgerfilestore/badgerfilestore.go delete mode 100644 client/filestorage/badgerfilestore/badgerfilestore_test.go delete mode 100644 client/filestorage/fileservice.go delete mode 100644 client/filestorage/proxystore.go delete mode 100644 client/filestorage/proxystore_test.go delete mode 100644 client/filestorage/rpcstore/client.go delete mode 100644 client/filestorage/rpcstore/clientmgr.go delete mode 100644 client/filestorage/rpcstore/service.go delete mode 100644 client/filestorage/rpcstore/stat.go delete mode 100644 client/filestorage/rpcstore/store.go delete mode 100644 client/filestorage/rpcstore/store_test.go delete mode 100644 client/filestorage/rpcstore/task.go delete mode 100644 client/filestorage/syncer.go delete mode 100644 client/filestorage/syncer_test.go delete mode 100644 client/go.mod delete mode 100644 client/go.sum delete mode 100644 client/storage/helpers.go delete mode 100644 client/storage/keys.go delete mode 100644 client/storage/liststorage.go delete mode 100644 client/storage/liststorage_test.go delete mode 100644 client/storage/spacestorage.go delete mode 100644 client/storage/spacestorage_test.go delete mode 100644 client/storage/storageservice.go delete mode 100644 client/storage/treestorage.go delete mode 100644 client/storage/treestorage_test.go delete mode 100644 common/Makefile delete mode 100644 common/commonspace/object/tree/synctree/updatelistener/updatelistener.go rename {common/commonfile => commonfile}/fileblockstore/fileblockstore.go (86%) rename {common/commonfile => commonfile}/fileproto/file.pb.go (100%) rename {common/commonfile => commonfile}/fileproto/file_drpc.pb.go (100%) rename {common/commonfile => commonfile}/fileproto/fileprotoerr/fileprotoerr.go (65%) rename {common/commonfile => commonfile}/fileproto/protos/file.proto (100%) rename {common/commonfile => commonfile}/fileservice/blockservice.go (92%) rename {common/commonfile => commonfile}/fileservice/fileservice.go (89%) rename {common/commonspace => commonspace}/commongetter.go (69%) rename {common/commonspace => commonspace}/commonstorage.go (75%) rename {common/commonspace => commonspace}/confconnector/confconnector.go (86%) rename {common/commonspace => commonspace}/confconnector/mock_confconnector/mock_confconnector.go (89%) rename {common/commonspace => commonspace}/config.go (100%) rename {common/commonspace => commonspace}/headsync/diffsyncer.go (83%) rename {common/commonspace => commonspace}/headsync/diffsyncer_test.go (79%) rename {common/commonspace => commonspace}/headsync/headsync.go (79%) rename {common/commonspace => commonspace}/headsync/headsync_test.go (65%) rename {common/commonspace => commonspace}/headsync/mock_headsync/mock_headsync.go (91%) rename {common/commonspace => commonspace}/headsync/remotediff.go (93%) rename {common/commonspace => commonspace}/headsync/remotediff_test.go (82%) rename {common/commonspace => commonspace}/object/accountdata/accountdata.go (54%) rename {common/commonspace => commonspace}/object/acl/aclrecordproto/aclreadkeyderive.go (76%) rename {common/commonspace => commonspace}/object/acl/aclrecordproto/aclrecord.pb.go (100%) rename {common/commonspace => commonspace}/object/acl/aclrecordproto/protos/aclrecord.proto (100%) rename {common/commonspace => commonspace}/object/acl/list/aclrecordbuilder.go (90%) rename {common/commonspace => commonspace}/object/acl/list/aclrecordbuilder_test.go (72%) rename {common/commonspace => commonspace}/object/acl/list/aclstate.go (94%) rename {common/commonspace => commonspace}/object/acl/list/aclstatebuilder.go (78%) rename {common/commonspace => commonspace}/object/acl/list/list.go (90%) rename {common/commonspace => commonspace}/object/acl/list/list_test.go (93%) rename {common/commonspace => commonspace}/object/acl/list/mock_list/mock_list.go (95%) rename {common/commonspace => commonspace}/object/acl/list/record.go (100%) rename {common/commonspace => commonspace}/object/acl/liststorage/inmemory.go (93%) rename {common/commonspace => commonspace}/object/acl/liststorage/liststorage.go (72%) rename {common/commonspace => commonspace}/object/acl/liststorage/mock_liststorage/mock_liststorage.go (93%) rename {common/commonspace => commonspace}/object/acl/syncacl/syncacl.go (50%) rename {common/commonspace => commonspace}/object/acl/syncacl/syncaclhandler.go (70%) rename {common/commonspace => commonspace}/object/acl/testutils/acllistbuilder/keychain.go (89%) rename {common/commonspace => commonspace}/object/acl/testutils/acllistbuilder/liststoragebuilder.go (92%) rename {common/commonspace => commonspace}/object/acl/testutils/acllistbuilder/liststoragebuildergraph.go (100%) rename {common/commonspace => commonspace}/object/acl/testutils/acllistbuilder/liststoragebuildergraph_nix.go (95%) rename {common/commonspace => commonspace}/object/acl/testutils/acllistbuilder/ymlentities.go (100%) rename {common/commonspace => commonspace}/object/acl/testutils/yamltests/path.go (100%) rename {common/commonspace => commonspace}/object/acl/testutils/yamltests/userjoinexample.yml (100%) rename {common/commonspace => commonspace}/object/acl/testutils/yamltests/userremoveexample.yml (100%) rename {common/commonspace => commonspace}/object/keychain/keychain.go (83%) rename {common/commonspace => commonspace}/object/syncobjectgetter/syncobjectgetter.go (66%) rename {common/commonspace => commonspace}/object/tree/objecttree/change.go (92%) rename {common/commonspace => commonspace}/object/tree/objecttree/changebuilder.go (92%) rename {common/commonspace => commonspace}/object/tree/objecttree/changevalidator.go (90%) rename {common/commonspace => commonspace}/object/tree/objecttree/descriptionparser.go (100%) rename {common/commonspace => commonspace}/object/tree/objecttree/mock_objecttree/mock_objecttree.go (95%) rename {common/commonspace => commonspace}/object/tree/objecttree/objecttree.go (95%) rename {common/commonspace => commonspace}/object/tree/objecttree/objecttree_test.go (97%) rename {common/commonspace => commonspace}/object/tree/objecttree/objecttreefactory.go (86%) rename {common/commonspace => commonspace}/object/tree/objecttree/rawloader.go (94%) rename {common/commonspace => commonspace}/object/tree/objecttree/rawtreevalidator.go (62%) rename {common/commonspace => commonspace}/object/tree/objecttree/signablecontent.go (63%) rename {common/commonspace => commonspace}/object/tree/objecttree/tree.go (100%) rename {common/commonspace => commonspace}/object/tree/objecttree/tree_test.go (100%) rename {common/commonspace => commonspace}/object/tree/objecttree/treebuilder.go (96%) rename {common/commonspace => commonspace}/object/tree/objecttree/treegraph.go (100%) rename {common/commonspace => commonspace}/object/tree/objecttree/treegraph_nix.go (100%) rename {common/commonspace => commonspace}/object/tree/objecttree/treeiterator.go (100%) rename {common/commonspace => commonspace}/object/tree/objecttree/treereduce.go (100%) rename {common/commonspace => commonspace}/object/tree/objecttree/util.go (100%) rename {common/commonspace => commonspace}/object/tree/synctree/mock_synctree/mock_synctree.go (96%) rename {common/commonspace => commonspace}/object/tree/synctree/queuedclient.go (81%) rename {common/commonspace => commonspace}/object/tree/synctree/receivequeue.go (93%) rename {common/commonspace => commonspace}/object/tree/synctree/requestfactory.go (89%) rename {common/commonspace => commonspace}/object/tree/synctree/syncclient.go (78%) rename {common/commonspace => commonspace}/object/tree/synctree/synctree.go (86%) rename {common/commonspace => commonspace}/object/tree/synctree/synctree_test.go (80%) rename {common/commonspace => commonspace}/object/tree/synctree/synctreehandler.go (90%) rename {common/commonspace => commonspace}/object/tree/synctree/synctreehandler_test.go (96%) rename {common/commonspace => commonspace}/object/tree/synctree/updatelistener/mock_updatelistener/mock_updatelistener.go (87%) create mode 100644 commonspace/object/tree/synctree/updatelistener/updatelistener.go rename {common/commonspace => commonspace}/object/tree/treechangeproto/protos/treechange.proto (100%) rename {common/commonspace => commonspace}/object/tree/treechangeproto/treechange.go (100%) rename {common/commonspace => commonspace}/object/tree/treechangeproto/treechange.pb.go (100%) rename {common/commonspace => commonspace}/object/tree/treestorage/helpers.go (100%) rename {common/commonspace => commonspace}/object/tree/treestorage/inmemory.go (94%) rename {common/commonspace => commonspace}/object/tree/treestorage/mock_treestorage/mock_storage.go (96%) rename {common/commonspace => commonspace}/object/tree/treestorage/treestorage.go (88%) rename {common/commonspace => commonspace}/object/treegetter/mock_treegetter/mock_treegetter.go (92%) rename {common/commonspace => commonspace}/object/treegetter/treegetter.go (54%) rename {common/commonspace => commonspace}/objectsync/actionqueue.go (100%) rename {common/commonspace => commonspace}/objectsync/actionqueue_test.go (100%) rename {common/commonspace => commonspace}/objectsync/mock_objectsync/mock_objectsync.go (89%) rename {common/commonspace => commonspace}/objectsync/objectsync.go (79%) rename {common/commonspace => commonspace}/objectsync/streamchecker.go (90%) rename {common/commonspace => commonspace}/objectsync/streampool.go (96%) rename {common/commonspace => commonspace}/objectsync/streampool_test.go (96%) rename {common/commonspace => commonspace}/objectsync/synchandler/synchhandler.go (65%) rename {common/commonspace => commonspace}/payloads.go (89%) rename {common/commonspace => commonspace}/rpchandler.go (88%) rename {common/commonspace => commonspace}/settings/deleteloop.go (100%) rename {common/commonspace => commonspace}/settings/deleter.go (76%) rename {common/commonspace => commonspace}/settings/deleter_test.go (75%) rename {common/commonspace => commonspace}/settings/deletionstate/deletionstate.go (91%) rename {common/commonspace => commonspace}/settings/deletionstate/deletionstate_test.go (94%) rename {common/commonspace => commonspace}/settings/deletionstate/mock_deletionstate/mock_deletionstate.go (94%) rename {common/commonspace => commonspace}/settings/idprovider.go (88%) rename {common/commonspace => commonspace}/settings/idprovider_test.go (89%) rename {common/commonspace => commonspace}/settings/mock_settings/mock_settings.go (91%) rename {common/commonspace => commonspace}/settings/settings.go (81%) rename {common/commonspace => commonspace}/settings/settings_test.go (80%) rename {common/commonspace => commonspace}/space.go (81%) rename {common/commonspace => commonspace}/spaceservice.go (80%) rename {common/commonspace => commonspace}/spacestorage/mock_spacestorage/mock_spacestorage.go (91%) rename {common/commonspace => commonspace}/spacestorage/spacestorage.go (69%) rename {common/commonspace => commonspace}/spacesyncproto/errors.go (85%) rename {common/commonspace => commonspace}/spacesyncproto/mock_spacesyncproto/mock_spacesyncproto.go (94%) rename {common/commonspace => commonspace}/spacesyncproto/protos/spacesync.proto (100%) rename {common/commonspace => commonspace}/spacesyncproto/spacesync.go (76%) rename {common/commonspace => commonspace}/spacesyncproto/spacesync.pb.go (100%) rename {common/commonspace => commonspace}/spacesyncproto/spacesync_drpc.pb.go (100%) rename {common/commonspace => commonspace}/syncstatus/noop.go (100%) rename {common/commonspace => commonspace}/syncstatus/syncstatus.go (92%) delete mode 100644 consensus/Makefile delete mode 100644 consensus/account/service.go delete mode 100644 consensus/cmd/consensusnode.go delete mode 100644 consensus/config/config.go delete mode 100644 consensus/config/mongo.go delete mode 100644 consensus/consensus.go delete mode 100644 consensus/consensusclient/client.go delete mode 100644 consensus/consensusclient/client_test.go delete mode 100644 consensus/consensusclient/mock_consensusclient/mock_consensusclient.go delete mode 100644 consensus/consensusclient/stream.go delete mode 100644 consensus/consensusproto/consensus.pb.go delete mode 100644 consensus/consensusproto/consensus_drpc.pb.go delete mode 100644 consensus/consensusproto/consensuserr/errors.go delete mode 100644 consensus/consensusproto/protos/consensus.proto delete mode 100644 consensus/consensusrpc/consensrpc.go delete mode 100644 consensus/db/db.go delete mode 100644 consensus/db/db_test.go delete mode 100644 consensus/go.mod delete mode 100644 consensus/go.sum delete mode 100644 consensus/stream/object.go delete mode 100644 consensus/stream/service.go delete mode 100644 consensus/stream/service_test.go delete mode 100644 consensus/stream/stream.go delete mode 100644 etc/client.yml delete mode 100644 etc/config.yml delete mode 100755 etc/configs/client1.yml delete mode 100755 etc/configs/client2.yml delete mode 100755 etc/configs/cons1.yml delete mode 100755 etc/configs/cons2.yml delete mode 100755 etc/configs/cons3.yml delete mode 100755 etc/configs/file1.yml delete mode 100755 etc/configs/node1.yml delete mode 100755 etc/configs/node2.yml delete mode 100755 etc/configs/node3.yml delete mode 100644 etc/consensus-node.yml delete mode 100644 etc/path.go delete mode 100644 filenode/Makefile delete mode 100644 filenode/account/service.go delete mode 100644 filenode/cmd/filenode.go delete mode 100644 filenode/config/config.go delete mode 100644 filenode/config/filestore.go delete mode 100644 filenode/filepogreb/filepogreb.go delete mode 100644 filenode/fileserver/fileserver.go delete mode 100644 filenode/fileserver/rpchandler.go delete mode 100644 filenode/go.mod delete mode 100644 filenode/go.sum rename common/go.mod => go.mod (98%) rename common/go.sum => go.sum (100%) delete mode 100644 go.work delete mode 100644 go.work.sum rename {common/metric => metric}/config.go (100%) rename {common/metric => metric}/drpc.go (100%) rename {common/metric => metric}/metric.go (94%) rename {common/net => net}/config.go (100%) rename {common/net => net}/dialer/dialer.go (81%) rename {common/net => net}/peer/context.go (100%) rename {common/net => net}/peer/peer.go (100%) rename {common/net => net}/pool/pool.go (88%) rename {common/net => net}/pool/pool_test.go (95%) rename {common/net => net}/rpc/rpcerr/registry.go (100%) rename {common/net => net}/rpc/rpctest/pool.go (88%) rename {common/net => net}/rpc/rpctest/server.go (100%) rename {common/net => net}/rpc/server/baseserver.go (97%) rename {common/net => net}/rpc/server/drpcserver.go (81%) rename {common/net => net}/rpc/server/util.go (100%) rename {common/net => net}/rpc/server/util_windows.go (100%) rename {common/net => net}/secureservice/basiclistener.go (86%) rename {common/net => net}/secureservice/secureservice.go (83%) rename {common/net => net}/secureservice/tlslistener.go (89%) rename {common/net => net}/timeoutconn/conn.go (100%) delete mode 100644 node/Makefile delete mode 100644 node/account/service.go delete mode 100644 node/acl/service.go delete mode 100644 node/acl/service_test.go delete mode 100644 node/acl/util.go delete mode 100644 node/acl/util_test.go delete mode 100644 node/acl/watcher.go delete mode 100644 node/cmd/node.go delete mode 100644 node/config/config.go delete mode 100644 node/debug/nodedebugrpc/nodedebugrpc.go delete mode 100644 node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc.pb.go delete mode 100644 node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc_drpc.pb.go delete mode 100644 node/debug/nodedebugrpc/nodedebugrpcproto/protos/nodedebugrpc.proto delete mode 100644 node/debug/nodedebugrpc/rpchandler.go delete mode 100644 node/go.mod delete mode 100644 node/go.sum delete mode 100644 node/nodespace/nodecache/treecache.go delete mode 100644 node/nodespace/rpchandler.go delete mode 100644 node/nodespace/service.go delete mode 100644 node/nodespace/space.go delete mode 100644 node/storage/config.go delete mode 100644 node/storage/keys.go delete mode 100644 node/storage/liststorage.go delete mode 100644 node/storage/liststorage_test.go delete mode 100644 node/storage/spacestorage.go delete mode 100644 node/storage/spacestorage_test.go delete mode 100644 node/storage/storageservice.go delete mode 100644 node/storage/treestorage.go delete mode 100644 node/storage/treestorage_test.go rename {common/nodeconf => nodeconf}/config.go (100%) rename {common/nodeconf => nodeconf}/configuration.go (91%) rename {common/nodeconf => nodeconf}/mock_nodeconf/mock_nodeconf.go (95%) rename {common/nodeconf => nodeconf}/service.go (82%) rename {common/testutil => testutil}/accounttest/accountservice.go (62%) rename {common/util => util}/cidutil/cid.go (100%) delete mode 100644 util/cmd/benchmarks/db/badger.go delete mode 100644 util/cmd/benchmarks/db/common.go delete mode 100644 util/cmd/benchmarks/db/pogreb.go delete mode 100644 util/cmd/benchmarks/dbbench.go delete mode 100644 util/cmd/debug/commands/client/service.go delete mode 100644 util/cmd/debug/commands/clientcmds.go delete mode 100644 util/cmd/debug/commands/node/service.go delete mode 100644 util/cmd/debug/commands/nodecmds.go delete mode 100644 util/cmd/debug/commands/nodesmap.go delete mode 100644 util/cmd/debug/commands/scripts.go delete mode 100644 util/cmd/debug/commands/service.go delete mode 100644 util/cmd/debug/debug.go delete mode 100644 util/cmd/debug/drpcclient/service.go delete mode 100644 util/cmd/deploy/deploy.go delete mode 100644 util/cmd/nodesgen/gen.go delete mode 100644 util/cmd/nodesgen/nodemap.yml delete mode 100644 util/debug.json delete mode 100644 util/go.mod delete mode 100644 util/go.sum rename {common/util => util}/keys/asymmetric/encryptionkey/encryptionkey.go (71%) rename {common/util => util}/keys/asymmetric/encryptionkey/rsa.go (97%) rename {common/util => util}/keys/asymmetric/signingkey/ed25519.go (97%) rename {common/util => util}/keys/asymmetric/signingkey/signingkey.go (72%) rename {common/util => util}/keys/decode.go (100%) rename {common/util => util}/keys/key.go (100%) rename {common/util => util}/keys/symmetric/symmetric.go (100%) rename {common/util => util}/peer/peer.go (79%) rename {common/util => util}/periodicsync/mock_periodicsync/mock_periodicsync.go (92%) rename {common/util => util}/periodicsync/periodicsync.go (93%) rename {common/util => util}/periodicsync/periodicsync_test.go (91%) rename {common/util => util}/slice/slice.go (100%) diff --git a/.gitignore b/.gitignore index 59e4fbdd..b71fe51b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,11 +8,6 @@ # Test binary, built with `go test -c` *.test -# playground/tmp folder for testing different clients -playground/tmp -playground/debug.json -debug.json - # .paw folder for macos paw client .paw diff --git a/Makefile b/Makefile index e4763890..c327ed5d 100644 --- a/Makefile +++ b/Makefile @@ -1,31 +1,20 @@ +.PHONY: proto test export GOPRIVATE=github.com/anytypeio -ifndef $(GOPATH) - GOPATH=$(shell go env GOPATH) - export GOPATH -endif - -ifndef $(GOROOT) - GOROOT=$(shell go env GOROOT) - export GOROOT -endif - -export PATH=$(GOPATH)/bin:$(shell echo $$PATH) - proto: - $(MAKE) -C common proto - $(MAKE) -C consensus proto - $(MAKE) -C client proto + @echo 'Generating protobuf packages (Go)...' -build: - $(MAKE) -C node build - $(MAKE) -C filenode build - $(MAKE) -C consensus build - $(MAKE) -C client build + @$(eval GOGO_START := GOGO_NO_UNDERSCORE=1 GOGO_EXPORT_ONEOF_INTERFACE=1) + @$(eval P_ACL_RECORDS_PATH_PB := commonspace/object/acl/aclrecordproto) + @$(eval P_TREE_CHANGES_PATH_PB := commonspace/object/tree/treechangeproto) + @$(eval P_ACL_RECORDS := M$(P_ACL_RECORDS_PATH_PB)/protos/aclrecord.proto=github.com/anytypeio/any-sync/$(P_ACL_RECORDS_PATH_PB)) + @$(eval P_TREE_CHANGES := M$(P_TREE_CHANGES_PATH_PB)/protos/treechange.proto=github.com/anytypeio/any-sync/$(P_TREE_CHANGES_PATH_PB)) + + $(GOGO_START) protoc --gogofaster_out=:. $(P_ACL_RECORDS_PATH_PB)/protos/*.proto + $(GOGO_START) protoc --gogofaster_out=:. $(P_TREE_CHANGES_PATH_PB)/protos/*.proto + $(eval PKGMAP := $$(P_TREE_CHANGES),$$(P_ACL_RECORDS)) + $(GOGO_START) protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. commonspace/spacesyncproto/protos/*.proto + $(GOGO_START) protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. commonfile/fileproto/protos/*.proto test: - $(MAKE) -C node test - $(MAKE) -C filenode test - $(MAKE) -C consensus test - $(MAKE) -C common test - $(MAKE) -C client test \ No newline at end of file + go test ./... --cover \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 5f88ce74..00000000 --- a/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# go-anytype-infrastructure-experiments -This repository will have the code for new infrastructure client and node prototypes - -## Project structure -- **app** - DI, loggers, common engine -- **bin** - contains compiled binaries (under gitignore) -- **cmd** - main files by directories -- **config** - config component -- **etc** - default/example config files, keys, etc -- **service** - services, runtime components (these packages can use code from everywhere) -- **pkg** - some static packages that can be able to move to a separate repo, dependencies of these packages limited to this folder (maybe util) -- **util** - helpers \ No newline at end of file diff --git a/common/accountservice/accountservice.go b/accountservice/accountservice.go similarity index 62% rename from common/accountservice/accountservice.go rename to accountservice/accountservice.go index 1ea30c24..cc2ad335 100644 --- a/common/accountservice/accountservice.go +++ b/accountservice/accountservice.go @@ -1,9 +1,9 @@ -//go:generate mockgen -destination mock_accountservice/mock_accountservice.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice Service +//go:generate mockgen -destination mock_accountservice/mock_accountservice.go github.com/anytypeio/any-sync/accountservice Service package accountservice import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/commonspace/object/accountdata" ) const CName = "common.accountservice" diff --git a/common/accountservice/mock_accountservice/helper.go b/accountservice/mock_accountservice/helper.go similarity index 67% rename from common/accountservice/mock_accountservice/helper.go rename to accountservice/mock_accountservice/helper.go index 594af462..24f187a0 100644 --- a/common/accountservice/mock_accountservice/helper.go +++ b/accountservice/mock_accountservice/helper.go @@ -1,8 +1,8 @@ package mock_accountservice import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" + "github.com/anytypeio/any-sync/accountservice" + "github.com/anytypeio/any-sync/commonspace/object/accountdata" "github.com/golang/mock/gomock" ) diff --git a/common/accountservice/mock_accountservice/mock_accountservice.go b/accountservice/mock_accountservice/mock_accountservice.go similarity index 87% rename from common/accountservice/mock_accountservice/mock_accountservice.go rename to accountservice/mock_accountservice/mock_accountservice.go index 11f1df88..d0876934 100644 --- a/common/accountservice/mock_accountservice/mock_accountservice.go +++ b/accountservice/mock_accountservice/mock_accountservice.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice (interfaces: Service) +// Source: github.com/anytypeio/any-sync/accountservice (interfaces: Service) // Package mock_accountservice is a generated GoMock package. package mock_accountservice @@ -7,8 +7,8 @@ package mock_accountservice import ( reflect "reflect" - app "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - accountdata "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" + app "github.com/anytypeio/any-sync/app" + accountdata "github.com/anytypeio/any-sync/commonspace/object/accountdata" gomock "github.com/golang/mock/gomock" ) diff --git a/common/app/app.go b/app/app.go similarity index 98% rename from common/app/app.go rename to app/app.go index d945db87..85d67f61 100644 --- a/common/app/app.go +++ b/app/app.go @@ -4,7 +4,7 @@ import ( "context" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" + "github.com/anytypeio/any-sync/app/logger" "go.uber.org/zap" "os" "runtime" diff --git a/common/app/app_test.go b/app/app_test.go similarity index 100% rename from common/app/app_test.go rename to app/app_test.go diff --git a/common/app/ldiff/diff.go b/app/ldiff/diff.go similarity index 98% rename from common/app/ldiff/diff.go rename to app/ldiff/diff.go index cce15fa5..877e5f2f 100644 --- a/common/app/ldiff/diff.go +++ b/app/ldiff/diff.go @@ -1,7 +1,7 @@ // Package ldiff provides a container of elements with fixed id and changeable content. // Diff can calculate the difference with another diff container (you can make it remote) with minimum hops and traffic. // -//go:generate mockgen -destination mock_ldiff/mock_ldiff.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff Diff,Remote +//go:generate mockgen -destination mock_ldiff/mock_ldiff.go github.com/anytypeio/any-sync/app/ldiff Diff,Remote package ldiff import ( diff --git a/common/app/ldiff/diff_test.go b/app/ldiff/diff_test.go similarity index 100% rename from common/app/ldiff/diff_test.go rename to app/ldiff/diff_test.go diff --git a/common/app/ldiff/mock_ldiff/mock_ldiff.go b/app/ldiff/mock_ldiff/mock_ldiff.go similarity index 96% rename from common/app/ldiff/mock_ldiff/mock_ldiff.go rename to app/ldiff/mock_ldiff/mock_ldiff.go index ad01feb2..5c30b515 100644 --- a/common/app/ldiff/mock_ldiff/mock_ldiff.go +++ b/app/ldiff/mock_ldiff/mock_ldiff.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff (interfaces: Diff,Remote) +// Source: github.com/anytypeio/any-sync/app/ldiff (interfaces: Diff,Remote) // Package mock_ldiff is a generated GoMock package. package mock_ldiff @@ -8,7 +8,7 @@ import ( context "context" reflect "reflect" - ldiff "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff" + ldiff "github.com/anytypeio/any-sync/app/ldiff" gomock "github.com/golang/mock/gomock" ) diff --git a/common/app/logger/config.go b/app/logger/config.go similarity index 100% rename from common/app/logger/config.go rename to app/logger/config.go diff --git a/common/app/logger/log.go b/app/logger/log.go similarity index 100% rename from common/app/logger/log.go rename to app/logger/log.go diff --git a/common/app/ocache/metrics.go b/app/ocache/metrics.go similarity index 100% rename from common/app/ocache/metrics.go rename to app/ocache/metrics.go diff --git a/common/app/ocache/ocache.go b/app/ocache/ocache.go similarity index 99% rename from common/app/ocache/ocache.go rename to app/ocache/ocache.go index fa7a63f3..8abf14ce 100644 --- a/common/app/ocache/ocache.go +++ b/app/ocache/ocache.go @@ -3,7 +3,7 @@ package ocache import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" + "github.com/anytypeio/any-sync/app/logger" "go.uber.org/zap" "sync" "time" diff --git a/common/app/ocache/ocache_test.go b/app/ocache/ocache_test.go similarity index 100% rename from common/app/ocache/ocache_test.go rename to app/ocache/ocache_test.go diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index d6b7ef32..00000000 --- a/bin/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/client/Makefile b/client/Makefile deleted file mode 100644 index 5264ea9a..00000000 --- a/client/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -.PHONY: proto -export GOPRIVATE=github.com/anytypeio - -proto: - @$(eval GOGO_START := GOGO_NO_UNDERSCORE=1 GOGO_EXPORT_ONEOF_INTERFACE=1) - $(GOGO_START) protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. debug/clientdebugrpc/clientdebugrpcproto/protos/*.proto - $(GOGO_START) protoc --gogofaster_out=:. document/textchangeproto/protos/*.proto - -build: - @$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/client)) - go build -v -o ../bin/anytype-client -ldflags "$(FLAGS)" github.com/anytypeio/go-anytype-infrastructure-experiments/client/cmd - -test: - go test ./... --cover diff --git a/client/account/service.go b/client/account/service.go deleted file mode 100644 index 656a4d17..00000000 --- a/client/account/service.go +++ /dev/null @@ -1,71 +0,0 @@ -package account - -import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" -) - -type service struct { - accountData *accountdata.AccountData - peerId string -} - -func New() app.Component { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - acc := a.MustComponent("config").(commonaccount.ConfigGetter).GetAccount() - - decodedEncryptionKey, err := keys.DecodeKeyFromString( - acc.EncryptionKey, - encryptionkey.NewEncryptionRsaPrivKeyFromBytes, - nil) - if err != nil { - return err - } - - decodedSigningKey, err := keys.DecodeKeyFromString( - acc.SigningKey, - signingkey.NewSigningEd25519PrivKeyFromBytes, - nil) - if err != nil { - return err - } - - decodedPeerKey, err := keys.DecodeKeyFromString( - acc.PeerKey, - signingkey.NewSigningEd25519PrivKeyFromBytes, - nil) - if err != nil { - return err - } - - identity, err := decodedSigningKey.GetPublic().Raw() - if err != nil { - return err - } - - s.accountData = &accountdata.AccountData{ - Identity: identity, - PeerKey: decodedPeerKey, - SignKey: decodedSigningKey, - EncKey: decodedEncryptionKey, - PeerId: acc.PeerId, - } - s.peerId = acc.PeerId - - return nil -} - -func (s *service) Name() (name string) { - return commonaccount.CName -} - -func (s *service) Account() *accountdata.AccountData { - return s.accountData -} diff --git a/client/badgerprovider/config.go b/client/badgerprovider/config.go deleted file mode 100644 index 52727317..00000000 --- a/client/badgerprovider/config.go +++ /dev/null @@ -1,9 +0,0 @@ -package badgerprovider - -type configGetter interface { - GetStorage() Config -} - -type Config struct { - Path string `yaml:"path"` -} diff --git a/client/badgerprovider/service.go b/client/badgerprovider/service.go deleted file mode 100644 index d7ece491..00000000 --- a/client/badgerprovider/service.go +++ /dev/null @@ -1,44 +0,0 @@ -package badgerprovider - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/dgraph-io/badger/v3" -) - -type BadgerProvider interface { - app.ComponentRunnable - Badger() *badger.DB -} - -var CName = "client.badgerprovider" - -type service struct { - db *badger.DB -} - -func New() BadgerProvider { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - cfg := a.MustComponent("config").(configGetter).GetStorage() - s.db, err = badger.Open(badger.DefaultOptions(cfg.Path)) - return -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Badger() *badger.DB { - return s.db -} - -func (s *service) Run(ctx context.Context) (err error) { - return -} - -func (s *service) Close(ctx context.Context) (err error) { - return s.db.Close() -} diff --git a/client/clientspace/clientcache/treecache.go b/client/clientspace/clientcache/treecache.go deleted file mode 100644 index 7304ed54..00000000 --- a/client/clientspace/clientcache/treecache.go +++ /dev/null @@ -1,149 +0,0 @@ -package clientcache - -import ( - "context" - "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/document/textdocument" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "go.uber.org/zap" - "time" -) - -var log = logger.NewNamed("treecache") -var ErrCacheObjectWithoutTree = errors.New("cache object contains no tree") - -type ctxKey int - -const ( - spaceKey ctxKey = iota - treeCreateKey -) - -type treeCache struct { - gcttl int - cache ocache.OCache - account accountservice.Service - clientService clientspace.Service -} - -type TreeCache interface { - treegetter.TreeGetter - GetDocument(ctx context.Context, spaceId, id string) (doc textdocument.TextDocument, err error) - CreateDocument(ctx context.Context, spaceId string, payload objecttree.ObjectTreeCreatePayload) (ot textdocument.TextDocument, err error) -} - -type updateListener struct { -} - -func (u *updateListener) Update(tree objecttree.ObjectTree) { - log.With( - zap.Strings("heads", tree.Heads()), - zap.String("tree id", tree.Id())). - Debug("updating tree") -} - -func (u *updateListener) Rebuild(tree objecttree.ObjectTree) { - log.With( - zap.Strings("heads", tree.Heads()), - zap.String("tree id", tree.Id())). - Debug("rebuilding tree") -} - -func New(ttl int) TreeCache { - return &treeCache{ - gcttl: ttl, - } -} - -func (c *treeCache) Run(ctx context.Context) (err error) { - return nil -} - -func (c *treeCache) Close(ctx context.Context) (err error) { - return c.cache.Close() -} - -func (c *treeCache) Init(a *app.App) (err error) { - c.clientService = a.MustComponent(clientspace.CName).(clientspace.Service) - c.account = a.MustComponent(accountservice.CName).(accountservice.Service) - c.cache = ocache.New( - func(ctx context.Context, id string) (value ocache.Object, err error) { - spaceId := ctx.Value(spaceKey).(string) - space, err := c.clientService.GetSpace(ctx, spaceId) - if err != nil { - return - } - createPayload, exists := ctx.Value(treeCreateKey).(treestorage.TreeStorageCreatePayload) - if exists { - return textdocument.CreateTextDocument(ctx, space, createPayload, &updateListener{}, c.account) - } - return textdocument.NewTextDocument(ctx, space, id, &updateListener{}, c.account) - }, - ocache.WithLogger(log.Sugar()), - ocache.WithGCPeriod(time.Minute), - ocache.WithTTL(time.Duration(c.gcttl)*time.Second), - ) - return nil -} - -func (c *treeCache) Name() (name string) { - return treegetter.CName -} - -func (c *treeCache) GetDocument(ctx context.Context, spaceId, id string) (doc textdocument.TextDocument, err error) { - ctx = context.WithValue(ctx, spaceKey, spaceId) - v, err := c.cache.Get(ctx, id) - if err != nil { - return - } - doc = v.(textdocument.TextDocument) - return -} - -func (c *treeCache) GetTree(ctx context.Context, spaceId, id string) (tr objecttree.ObjectTree, err error) { - doc, err := c.GetDocument(ctx, spaceId, id) - if err != nil { - return - } - // we have to do this trick, otherwise the compiler won't understand that TextDocument conforms to SyncHandler interface - tr = doc.InnerTree() - return -} - -func (c *treeCache) CreateDocument(ctx context.Context, spaceId string, payload objecttree.ObjectTreeCreatePayload) (ot textdocument.TextDocument, err error) { - space, err := c.clientService.GetSpace(ctx, spaceId) - if err != nil { - return - } - create, err := space.CreateTree(context.Background(), payload) - if err != nil { - return - } - ctx = context.WithValue(ctx, spaceKey, spaceId) - ctx = context.WithValue(ctx, treeCreateKey, create) - v, err := c.cache.Get(ctx, create.RootRawChange.Id) - if err != nil { - return - } - return v.(textdocument.TextDocument), nil -} - -func (c *treeCache) DeleteTree(ctx context.Context, spaceId, treeId string) (err error) { - tr, err := c.GetTree(ctx, spaceId, treeId) - if err != nil { - return - } - err = tr.Delete() - if err != nil { - return - } - _, err = c.cache.Remove(treeId) - return -} diff --git a/client/clientspace/rpchandler.go b/client/clientspace/rpchandler.go deleted file mode 100644 index 45f8a4be..00000000 --- a/client/clientspace/rpchandler.go +++ /dev/null @@ -1,75 +0,0 @@ -package clientspace - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" -) - -type rpcHandler struct { - s *service -} - -func (r *rpcHandler) SpacePull(ctx context.Context, request *spacesyncproto.SpacePullRequest) (resp *spacesyncproto.SpacePullResponse, err error) { - sp, err := r.s.GetSpace(ctx, request.Id) - if err != nil { - if err != spacesyncproto.ErrSpaceMissing { - err = spacesyncproto.ErrUnexpected - } - return - } - - spaceDesc, err := sp.Description() - if err != nil { - err = spacesyncproto.ErrUnexpected - return - } - - resp = &spacesyncproto.SpacePullResponse{ - Payload: &spacesyncproto.SpacePayload{ - SpaceHeader: spaceDesc.SpaceHeader, - AclPayloadId: spaceDesc.AclId, - AclPayload: spaceDesc.AclPayload, - SpaceSettingsPayload: spaceDesc.SpaceSettingsPayload, - SpaceSettingsPayloadId: spaceDesc.SpaceSettingsId, - }, - } - return -} - -func (r *rpcHandler) SpacePush(ctx context.Context, req *spacesyncproto.SpacePushRequest) (resp *spacesyncproto.SpacePushResponse, err error) { - description := commonspace.SpaceDescription{ - SpaceHeader: req.Payload.SpaceHeader, - AclId: req.Payload.AclPayloadId, - AclPayload: req.Payload.AclPayload, - SpaceSettingsPayload: req.Payload.SpaceSettingsPayload, - SpaceSettingsId: req.Payload.SpaceSettingsPayloadId, - } - ctx = context.WithValue(ctx, commonspace.AddSpaceCtxKey, description) - _, err = r.s.GetSpace(ctx, description.SpaceHeader.GetId()) - if err != nil { - return - } - resp = &spacesyncproto.SpacePushResponse{} - return -} - -func (r *rpcHandler) HeadSync(ctx context.Context, req *spacesyncproto.HeadSyncRequest) (*spacesyncproto.HeadSyncResponse, error) { - sp, err := r.s.GetSpace(ctx, req.SpaceId) - if err != nil { - return nil, spacesyncproto.ErrSpaceMissing - } - return sp.SpaceSyncRpc().HeadSync(ctx, req) -} - -func (r *rpcHandler) ObjectSyncStream(stream spacesyncproto.DRPCSpaceSync_ObjectSyncStreamStream) error { - msg, err := stream.Recv() - if err != nil { - return err - } - sp, err := r.s.GetSpace(stream.Context(), msg.SpaceId) - if err != nil { - return spacesyncproto.ErrSpaceMissing - } - return sp.SpaceSyncRpc().Stream(stream) -} diff --git a/client/clientspace/service.go b/client/clientspace/service.go deleted file mode 100644 index 904c784c..00000000 --- a/client/clientspace/service.go +++ /dev/null @@ -1,111 +0,0 @@ -package clientspace - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "time" -) - -const CName = "client.clientspace" - -var log = logger.NewNamed(CName) - -func New() Service { - return &service{} -} - -type Service interface { - GetSpace(ctx context.Context, id string) (commonspace.Space, error) - CreateSpace(ctx context.Context, payload commonspace.SpaceCreatePayload) (commonspace.Space, error) - DeriveSpace(ctx context.Context, payload commonspace.SpaceDerivePayload) (commonspace.Space, error) - app.ComponentRunnable -} - -type service struct { - conf commonspace.Config - spaceCache ocache.OCache - commonSpace commonspace.SpaceService - spaceStorageProvider spacestorage.SpaceStorageProvider -} - -func (s *service) Init(a *app.App) (err error) { - s.conf = a.MustComponent("config").(commonspace.ConfigGetter).GetSpace() - s.commonSpace = a.MustComponent(commonspace.CName).(commonspace.SpaceService) - s.spaceStorageProvider = a.MustComponent(spacestorage.CName).(spacestorage.SpaceStorageProvider) - s.spaceCache = ocache.New( - s.loadSpace, - ocache.WithLogger(log.Sugar()), - ocache.WithGCPeriod(time.Minute), - ocache.WithTTL(time.Duration(s.conf.GCTTL)*time.Second), - ) - return spacesyncproto.DRPCRegisterSpaceSync(a.MustComponent(server.CName).(server.DRPCServer), &rpcHandler{s}) -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Run(ctx context.Context) (err error) { - return -} - -func (s *service) CreateSpace(ctx context.Context, payload commonspace.SpaceCreatePayload) (container commonspace.Space, err error) { - id, err := s.commonSpace.CreateSpace(ctx, payload) - if err != nil { - return - } - - obj, err := s.spaceCache.Get(ctx, id) - if err != nil { - return - } - return obj.(commonspace.Space), nil -} - -func (s *service) DeriveSpace(ctx context.Context, payload commonspace.SpaceDerivePayload) (container commonspace.Space, err error) { - id, err := s.commonSpace.DeriveSpace(ctx, payload) - if err != nil { - return - } - - obj, err := s.spaceCache.Get(ctx, id) - if err != nil { - return - } - return obj.(commonspace.Space), nil -} - -func (s *service) GetSpace(ctx context.Context, id string) (container commonspace.Space, err error) { - v, err := s.spaceCache.Get(ctx, id) - if err != nil { - return - } - return v.(commonspace.Space), nil -} - -func (s *service) loadSpace(ctx context.Context, id string) (value ocache.Object, err error) { - cc, err := s.commonSpace.NewSpace(ctx, id) - if err != nil { - return - } - ns, err := newClientSpace(cc) - if err != nil { - return - } - ns.SyncStatus().(syncstatus.StatusWatcher).SetUpdateReceiver(&statusReceiver{}) - if err = ns.Init(ctx); err != nil { - return - } - return ns, nil -} - -func (s *service) Close(ctx context.Context) (err error) { - return s.spaceCache.Close() -} diff --git a/client/clientspace/space.go b/client/clientspace/space.go deleted file mode 100644 index f0e7fda3..00000000 --- a/client/clientspace/space.go +++ /dev/null @@ -1,22 +0,0 @@ -package clientspace - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" -) - -func newClientSpace(cc commonspace.Space) (commonspace.Space, error) { - return &clientSpace{cc}, nil -} - -type clientSpace struct { - commonspace.Space -} - -func (s *clientSpace) Init(ctx context.Context) (err error) { - return s.Space.Init(ctx) -} - -func (s *clientSpace) Close() (err error) { - return s.Space.Close() -} diff --git a/client/clientspace/statusreceiver.go b/client/clientspace/statusreceiver.go deleted file mode 100644 index 50cf27bf..00000000 --- a/client/clientspace/statusreceiver.go +++ /dev/null @@ -1,20 +0,0 @@ -package clientspace - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "go.uber.org/zap" -) - -type statusReceiver struct { -} - -func (s *statusReceiver) UpdateTree(ctx context.Context, treeId string, status syncstatus.SyncStatus) (err error) { - log.With(zap.String("treeId", treeId), zap.Bool("synced", status == syncstatus.StatusSynced)). - Debug("updating sync status") - return nil -} - -func (s *statusReceiver) UpdateNodeConnection(online bool) { - log.With(zap.Bool("nodes online", online)).Debug("updating node connection") -} diff --git a/client/cmd/client.go b/client/cmd/client.go deleted file mode 100644 index dcca82c5..00000000 --- a/client/cmd/client.go +++ /dev/null @@ -1,118 +0,0 @@ -package main - -import ( - "context" - "flag" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/account" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/badgerprovider" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace/clientcache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/debug/clientdebugrpc" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/document" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage/rpcstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/storage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/dialer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "go.uber.org/zap" - "net/http" - _ "net/http/pprof" - "os" - "os/signal" - "syscall" - "time" -) - -var log = logger.NewNamed("main") - -var ( - flagConfigFile = flag.String("c", "etc/client.yml", "path to config file") - // we can't use "v" here because of glog init (through badger) setting flag.Bool with "v" - flagVersion = flag.Bool("ver", false, "show version and exit") - flagHelp = flag.Bool("h", false, "show help and exit") -) - -func main() { - flag.Parse() - - if *flagVersion { - fmt.Println(app.VersionDescription()) - return - } - if *flagHelp { - flag.PrintDefaults() - return - } - - if debug, ok := os.LookupEnv("ANYPROF"); ok && debug != "" { - go func() { - http.ListenAndServe(debug, nil) - }() - } - - // create app - ctx := context.Background() - a := new(app.App) - - // open config file - conf, err := config.NewFromFile(*flagConfigFile) - if err != nil { - log.Fatal("can't open config file", zap.Error(err)) - } - - // bootstrap components - a.Register(conf) - Bootstrap(a) - - // start app - if err := a.Start(ctx); err != nil { - log.Fatal("can't start app", zap.Error(err)) - } - log.Info("app started", zap.String("version", a.Version())) - - // wait exit signal - exit := make(chan os.Signal, 1) - signal.Notify(exit, os.Interrupt, syscall.SIGKILL, syscall.SIGTERM, syscall.SIGQUIT) - sig := <-exit - log.Info("received exit signal, stop app...", zap.String("signal", fmt.Sprint(sig))) - - // close app - ctx, cancel := context.WithTimeout(ctx, time.Minute) - defer cancel() - if err := a.Close(ctx); err != nil { - log.Fatal("close error", zap.Error(err)) - } else { - log.Info("goodbye!") - } - time.Sleep(time.Second / 3) -} - -func Bootstrap(a *app.App) { - a.Register(account.New()). - Register(nodeconf.New()). - Register(metric.New()). - Register(badgerprovider.New()). - Register(storage.New()). - Register(clientcache.New(200)). - Register(secureservice.New()). - Register(dialer.New()). - Register(pool.New()). - Register(commonspace.New()). - Register(clientspace.New()). - Register(server.New()). - Register(document.New()). - Register(rpcstore.New()). - Register(fileservice.New()). - Register(filestorage.New()). - Register(clientdebugrpc.New()) -} diff --git a/client/config/config.go b/client/config/config.go deleted file mode 100644 index 604713af..00000000 --- a/client/config/config.go +++ /dev/null @@ -1,75 +0,0 @@ -package config - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/badgerprovider" - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "gopkg.in/yaml.v3" - "os" -) - -const CName = "config" - -func NewFromFile(path string) (c *Config, err error) { - c = &Config{} - data, err := os.ReadFile(path) - if err != nil { - return nil, err - } - if err = yaml.Unmarshal(data, c); err != nil { - return nil, err - } - return -} - -type Config struct { - GrpcServer net.Config `yaml:"grpcServer"` - Account commonaccount.Config `yaml:"account"` - APIServer net.Config `yaml:"apiServer"` - Nodes []nodeconf.NodeConfig `yaml:"nodes"` - Space commonspace.Config `yaml:"space"` - Storage badgerprovider.Config `yaml:"storage"` - Metric metric.Config `yaml:"metric"` - Log logger.Config `yaml:"log"` -} - -func (c *Config) Init(a *app.App) (err error) { - return -} - -func (c Config) Name() (name string) { - return CName -} - -func (c Config) GetNet() net.Config { - return c.GrpcServer -} - -func (c Config) GetDebugNet() net.Config { - return c.APIServer -} - -func (c Config) GetAccount() commonaccount.Config { - return c.Account -} - -func (c Config) GetMetric() metric.Config { - return c.Metric -} - -func (c Config) GetSpace() commonspace.Config { - return c.Space -} - -func (c Config) GetStorage() badgerprovider.Config { - return c.Storage -} - -func (c Config) GetNodes() []nodeconf.NodeConfig { - return c.Nodes -} diff --git a/client/debug/clientdebugrpc/clientdebugrpc.go b/client/debug/clientdebugrpc/clientdebugrpc.go deleted file mode 100644 index ad43cf45..00000000 --- a/client/debug/clientdebugrpc/clientdebugrpc.go +++ /dev/null @@ -1,88 +0,0 @@ -package clientdebugrpc - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/debug/clientdebugrpc/clientdebugrpcproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/document" - clientstorage "github.com/anytypeio/go-anytype-infrastructure-experiments/client/storage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" - "storj.io/drpc" -) - -const CName = "common.debug.clientdebugrpc" - -var log = logger.NewNamed(CName) - -func New() ClientDebugRpc { - return &service{BaseDrpcServer: server.NewBaseDrpcServer()} -} - -type configGetter interface { - GetDebugNet() net.Config -} - -type ClientDebugRpc interface { - app.ComponentRunnable - drpc.Mux -} - -type service struct { - transport secureservice.SecureService - cfg net.Config - spaceService clientspace.Service - storageService clientstorage.ClientStorage - docService document.Service - account accountservice.Service - file fileservice.FileService - *server.BaseDrpcServer -} - -func (s *service) Init(a *app.App) (err error) { - s.spaceService = a.MustComponent(clientspace.CName).(clientspace.Service) - s.storageService = a.MustComponent(spacestorage.CName).(clientstorage.ClientStorage) - s.docService = a.MustComponent(document.CName).(document.Service) - s.account = a.MustComponent(accountservice.CName).(accountservice.Service) - s.cfg = a.MustComponent("config").(configGetter).GetDebugNet() - s.transport = a.MustComponent(secureservice.CName).(secureservice.SecureService) - s.file = a.MustComponent(fileservice.CName).(fileservice.FileService) - return nil -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Run(ctx context.Context) (err error) { - params := server.Params{ - BufferSizeMb: s.cfg.Stream.MaxMsgSizeMb, - TimeoutMillis: s.cfg.Stream.TimeoutMilliseconds, - ListenAddrs: s.cfg.Server.ListenAddrs, - Wrapper: func(handler drpc.Handler) drpc.Handler { - return handler - }, - Converter: s.transport.BasicListener, - } - err = s.BaseDrpcServer.Run(ctx, params) - if err != nil { - return - } - return clientdebugrpcproto.DRPCRegisterClientApi(s, &rpcHandler{ - spaceService: s.spaceService, - storageService: s.storageService, - docService: s.docService, - account: s.account, - file: s.file, - }) -} - -func (s *service) Close(ctx context.Context) (err error) { - return s.BaseDrpcServer.Close(ctx) -} diff --git a/client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc.pb.go b/client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc.pb.go deleted file mode 100644 index 25ac5f66..00000000 --- a/client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc.pb.go +++ /dev/null @@ -1,5777 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: debug/clientdebugrpc/clientdebugrpcproto/protos/clientdebugrpc.proto - -package clientdebugrpcproto - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type CreateSpaceRequest struct { -} - -func (m *CreateSpaceRequest) Reset() { *m = CreateSpaceRequest{} } -func (m *CreateSpaceRequest) String() string { return proto.CompactTextString(m) } -func (*CreateSpaceRequest) ProtoMessage() {} -func (*CreateSpaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{0} -} -func (m *CreateSpaceRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CreateSpaceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CreateSpaceRequest.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 *CreateSpaceRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateSpaceRequest.Merge(m, src) -} -func (m *CreateSpaceRequest) XXX_Size() int { - return m.Size() -} -func (m *CreateSpaceRequest) XXX_DiscardUnknown() { - xxx_messageInfo_CreateSpaceRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_CreateSpaceRequest proto.InternalMessageInfo - -type CreateSpaceResponse struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *CreateSpaceResponse) Reset() { *m = CreateSpaceResponse{} } -func (m *CreateSpaceResponse) String() string { return proto.CompactTextString(m) } -func (*CreateSpaceResponse) ProtoMessage() {} -func (*CreateSpaceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{1} -} -func (m *CreateSpaceResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CreateSpaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CreateSpaceResponse.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 *CreateSpaceResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateSpaceResponse.Merge(m, src) -} -func (m *CreateSpaceResponse) XXX_Size() int { - return m.Size() -} -func (m *CreateSpaceResponse) XXX_DiscardUnknown() { - xxx_messageInfo_CreateSpaceResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_CreateSpaceResponse proto.InternalMessageInfo - -func (m *CreateSpaceResponse) GetId() string { - if m != nil { - return m.Id - } - return "" -} - -type DeriveSpaceRequest struct { -} - -func (m *DeriveSpaceRequest) Reset() { *m = DeriveSpaceRequest{} } -func (m *DeriveSpaceRequest) String() string { return proto.CompactTextString(m) } -func (*DeriveSpaceRequest) ProtoMessage() {} -func (*DeriveSpaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{2} -} -func (m *DeriveSpaceRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DeriveSpaceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DeriveSpaceRequest.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 *DeriveSpaceRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeriveSpaceRequest.Merge(m, src) -} -func (m *DeriveSpaceRequest) XXX_Size() int { - return m.Size() -} -func (m *DeriveSpaceRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeriveSpaceRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeriveSpaceRequest proto.InternalMessageInfo - -type DeriveSpaceResponse struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *DeriveSpaceResponse) Reset() { *m = DeriveSpaceResponse{} } -func (m *DeriveSpaceResponse) String() string { return proto.CompactTextString(m) } -func (*DeriveSpaceResponse) ProtoMessage() {} -func (*DeriveSpaceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{3} -} -func (m *DeriveSpaceResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DeriveSpaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DeriveSpaceResponse.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 *DeriveSpaceResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeriveSpaceResponse.Merge(m, src) -} -func (m *DeriveSpaceResponse) XXX_Size() int { - return m.Size() -} -func (m *DeriveSpaceResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DeriveSpaceResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_DeriveSpaceResponse proto.InternalMessageInfo - -func (m *DeriveSpaceResponse) GetId() string { - if m != nil { - return m.Id - } - return "" -} - -type CreateDocumentRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` -} - -func (m *CreateDocumentRequest) Reset() { *m = CreateDocumentRequest{} } -func (m *CreateDocumentRequest) String() string { return proto.CompactTextString(m) } -func (*CreateDocumentRequest) ProtoMessage() {} -func (*CreateDocumentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{4} -} -func (m *CreateDocumentRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CreateDocumentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CreateDocumentRequest.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 *CreateDocumentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateDocumentRequest.Merge(m, src) -} -func (m *CreateDocumentRequest) XXX_Size() int { - return m.Size() -} -func (m *CreateDocumentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_CreateDocumentRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_CreateDocumentRequest proto.InternalMessageInfo - -func (m *CreateDocumentRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -type CreateDocumentResponse struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (m *CreateDocumentResponse) Reset() { *m = CreateDocumentResponse{} } -func (m *CreateDocumentResponse) String() string { return proto.CompactTextString(m) } -func (*CreateDocumentResponse) ProtoMessage() {} -func (*CreateDocumentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{5} -} -func (m *CreateDocumentResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CreateDocumentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CreateDocumentResponse.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 *CreateDocumentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateDocumentResponse.Merge(m, src) -} -func (m *CreateDocumentResponse) XXX_Size() int { - return m.Size() -} -func (m *CreateDocumentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_CreateDocumentResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_CreateDocumentResponse proto.InternalMessageInfo - -func (m *CreateDocumentResponse) GetId() string { - if m != nil { - return m.Id - } - return "" -} - -type DeleteDocumentRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - DocumentId string `protobuf:"bytes,2,opt,name=documentId,proto3" json:"documentId,omitempty"` -} - -func (m *DeleteDocumentRequest) Reset() { *m = DeleteDocumentRequest{} } -func (m *DeleteDocumentRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteDocumentRequest) ProtoMessage() {} -func (*DeleteDocumentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{6} -} -func (m *DeleteDocumentRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DeleteDocumentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DeleteDocumentRequest.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 *DeleteDocumentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteDocumentRequest.Merge(m, src) -} -func (m *DeleteDocumentRequest) XXX_Size() int { - return m.Size() -} -func (m *DeleteDocumentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteDocumentRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteDocumentRequest proto.InternalMessageInfo - -func (m *DeleteDocumentRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *DeleteDocumentRequest) GetDocumentId() string { - if m != nil { - return m.DocumentId - } - return "" -} - -type DeleteDocumentResponse struct { -} - -func (m *DeleteDocumentResponse) Reset() { *m = DeleteDocumentResponse{} } -func (m *DeleteDocumentResponse) String() string { return proto.CompactTextString(m) } -func (*DeleteDocumentResponse) ProtoMessage() {} -func (*DeleteDocumentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{7} -} -func (m *DeleteDocumentResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DeleteDocumentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DeleteDocumentResponse.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 *DeleteDocumentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteDocumentResponse.Merge(m, src) -} -func (m *DeleteDocumentResponse) XXX_Size() int { - return m.Size() -} -func (m *DeleteDocumentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteDocumentResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteDocumentResponse proto.InternalMessageInfo - -type AddTextRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - DocumentId string `protobuf:"bytes,2,opt,name=documentId,proto3" json:"documentId,omitempty"` - Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` - IsSnapshot bool `protobuf:"varint,4,opt,name=isSnapshot,proto3" json:"isSnapshot,omitempty"` -} - -func (m *AddTextRequest) Reset() { *m = AddTextRequest{} } -func (m *AddTextRequest) String() string { return proto.CompactTextString(m) } -func (*AddTextRequest) ProtoMessage() {} -func (*AddTextRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{8} -} -func (m *AddTextRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AddTextRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AddTextRequest.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 *AddTextRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddTextRequest.Merge(m, src) -} -func (m *AddTextRequest) XXX_Size() int { - return m.Size() -} -func (m *AddTextRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddTextRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddTextRequest proto.InternalMessageInfo - -func (m *AddTextRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *AddTextRequest) GetDocumentId() string { - if m != nil { - return m.DocumentId - } - return "" -} - -func (m *AddTextRequest) GetText() string { - if m != nil { - return m.Text - } - return "" -} - -func (m *AddTextRequest) GetIsSnapshot() bool { - if m != nil { - return m.IsSnapshot - } - return false -} - -type AddTextResponse struct { - DocumentId string `protobuf:"bytes,1,opt,name=documentId,proto3" json:"documentId,omitempty"` - HeadId string `protobuf:"bytes,2,opt,name=headId,proto3" json:"headId,omitempty"` - RootId string `protobuf:"bytes,3,opt,name=rootId,proto3" json:"rootId,omitempty"` -} - -func (m *AddTextResponse) Reset() { *m = AddTextResponse{} } -func (m *AddTextResponse) String() string { return proto.CompactTextString(m) } -func (*AddTextResponse) ProtoMessage() {} -func (*AddTextResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{9} -} -func (m *AddTextResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AddTextResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AddTextResponse.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 *AddTextResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddTextResponse.Merge(m, src) -} -func (m *AddTextResponse) XXX_Size() int { - return m.Size() -} -func (m *AddTextResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AddTextResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_AddTextResponse proto.InternalMessageInfo - -func (m *AddTextResponse) GetDocumentId() string { - if m != nil { - return m.DocumentId - } - return "" -} - -func (m *AddTextResponse) GetHeadId() string { - if m != nil { - return m.HeadId - } - return "" -} - -func (m *AddTextResponse) GetRootId() string { - if m != nil { - return m.RootId - } - return "" -} - -type DumpTreeRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - DocumentId string `protobuf:"bytes,2,opt,name=documentId,proto3" json:"documentId,omitempty"` -} - -func (m *DumpTreeRequest) Reset() { *m = DumpTreeRequest{} } -func (m *DumpTreeRequest) String() string { return proto.CompactTextString(m) } -func (*DumpTreeRequest) ProtoMessage() {} -func (*DumpTreeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{10} -} -func (m *DumpTreeRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DumpTreeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DumpTreeRequest.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 *DumpTreeRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DumpTreeRequest.Merge(m, src) -} -func (m *DumpTreeRequest) XXX_Size() int { - return m.Size() -} -func (m *DumpTreeRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DumpTreeRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DumpTreeRequest proto.InternalMessageInfo - -func (m *DumpTreeRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *DumpTreeRequest) GetDocumentId() string { - if m != nil { - return m.DocumentId - } - return "" -} - -type DumpTreeResponse struct { - Dump string `protobuf:"bytes,1,opt,name=dump,proto3" json:"dump,omitempty"` -} - -func (m *DumpTreeResponse) Reset() { *m = DumpTreeResponse{} } -func (m *DumpTreeResponse) String() string { return proto.CompactTextString(m) } -func (*DumpTreeResponse) ProtoMessage() {} -func (*DumpTreeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{11} -} -func (m *DumpTreeResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DumpTreeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DumpTreeResponse.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 *DumpTreeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DumpTreeResponse.Merge(m, src) -} -func (m *DumpTreeResponse) XXX_Size() int { - return m.Size() -} -func (m *DumpTreeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DumpTreeResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_DumpTreeResponse proto.InternalMessageInfo - -func (m *DumpTreeResponse) GetDump() string { - if m != nil { - return m.Dump - } - return "" -} - -type AllTreesRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` -} - -func (m *AllTreesRequest) Reset() { *m = AllTreesRequest{} } -func (m *AllTreesRequest) String() string { return proto.CompactTextString(m) } -func (*AllTreesRequest) ProtoMessage() {} -func (*AllTreesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{12} -} -func (m *AllTreesRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllTreesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllTreesRequest.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 *AllTreesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTreesRequest.Merge(m, src) -} -func (m *AllTreesRequest) XXX_Size() int { - return m.Size() -} -func (m *AllTreesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AllTreesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AllTreesRequest proto.InternalMessageInfo - -func (m *AllTreesRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -type Tree struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Heads []string `protobuf:"bytes,2,rep,name=heads,proto3" json:"heads,omitempty"` -} - -func (m *Tree) Reset() { *m = Tree{} } -func (m *Tree) String() string { return proto.CompactTextString(m) } -func (*Tree) ProtoMessage() {} -func (*Tree) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{13} -} -func (m *Tree) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Tree.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 *Tree) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tree.Merge(m, src) -} -func (m *Tree) XXX_Size() int { - return m.Size() -} -func (m *Tree) XXX_DiscardUnknown() { - xxx_messageInfo_Tree.DiscardUnknown(m) -} - -var xxx_messageInfo_Tree proto.InternalMessageInfo - -func (m *Tree) GetId() string { - if m != nil { - return m.Id - } - return "" -} - -func (m *Tree) GetHeads() []string { - if m != nil { - return m.Heads - } - return nil -} - -type AllTreesResponse struct { - Trees []*Tree `protobuf:"bytes,1,rep,name=trees,proto3" json:"trees,omitempty"` -} - -func (m *AllTreesResponse) Reset() { *m = AllTreesResponse{} } -func (m *AllTreesResponse) String() string { return proto.CompactTextString(m) } -func (*AllTreesResponse) ProtoMessage() {} -func (*AllTreesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{14} -} -func (m *AllTreesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllTreesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllTreesResponse.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 *AllTreesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTreesResponse.Merge(m, src) -} -func (m *AllTreesResponse) XXX_Size() int { - return m.Size() -} -func (m *AllTreesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AllTreesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_AllTreesResponse proto.InternalMessageInfo - -func (m *AllTreesResponse) GetTrees() []*Tree { - if m != nil { - return m.Trees - } - return nil -} - -type AllSpacesRequest struct { -} - -func (m *AllSpacesRequest) Reset() { *m = AllSpacesRequest{} } -func (m *AllSpacesRequest) String() string { return proto.CompactTextString(m) } -func (*AllSpacesRequest) ProtoMessage() {} -func (*AllSpacesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{15} -} -func (m *AllSpacesRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllSpacesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllSpacesRequest.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 *AllSpacesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllSpacesRequest.Merge(m, src) -} -func (m *AllSpacesRequest) XXX_Size() int { - return m.Size() -} -func (m *AllSpacesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AllSpacesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AllSpacesRequest proto.InternalMessageInfo - -type AllSpacesResponse struct { - SpaceIds []string `protobuf:"bytes,1,rep,name=spaceIds,proto3" json:"spaceIds,omitempty"` -} - -func (m *AllSpacesResponse) Reset() { *m = AllSpacesResponse{} } -func (m *AllSpacesResponse) String() string { return proto.CompactTextString(m) } -func (*AllSpacesResponse) ProtoMessage() {} -func (*AllSpacesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{16} -} -func (m *AllSpacesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllSpacesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllSpacesResponse.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 *AllSpacesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllSpacesResponse.Merge(m, src) -} -func (m *AllSpacesResponse) XXX_Size() int { - return m.Size() -} -func (m *AllSpacesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AllSpacesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_AllSpacesResponse proto.InternalMessageInfo - -func (m *AllSpacesResponse) GetSpaceIds() []string { - if m != nil { - return m.SpaceIds - } - return nil -} - -type LoadSpaceRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` -} - -func (m *LoadSpaceRequest) Reset() { *m = LoadSpaceRequest{} } -func (m *LoadSpaceRequest) String() string { return proto.CompactTextString(m) } -func (*LoadSpaceRequest) ProtoMessage() {} -func (*LoadSpaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{17} -} -func (m *LoadSpaceRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *LoadSpaceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LoadSpaceRequest.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 *LoadSpaceRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoadSpaceRequest.Merge(m, src) -} -func (m *LoadSpaceRequest) XXX_Size() int { - return m.Size() -} -func (m *LoadSpaceRequest) XXX_DiscardUnknown() { - xxx_messageInfo_LoadSpaceRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_LoadSpaceRequest proto.InternalMessageInfo - -func (m *LoadSpaceRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -type LoadSpaceResponse struct { -} - -func (m *LoadSpaceResponse) Reset() { *m = LoadSpaceResponse{} } -func (m *LoadSpaceResponse) String() string { return proto.CompactTextString(m) } -func (*LoadSpaceResponse) ProtoMessage() {} -func (*LoadSpaceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{18} -} -func (m *LoadSpaceResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *LoadSpaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_LoadSpaceResponse.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 *LoadSpaceResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoadSpaceResponse.Merge(m, src) -} -func (m *LoadSpaceResponse) XXX_Size() int { - return m.Size() -} -func (m *LoadSpaceResponse) XXX_DiscardUnknown() { - xxx_messageInfo_LoadSpaceResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_LoadSpaceResponse proto.InternalMessageInfo - -type TreeParamsRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - DocumentId string `protobuf:"bytes,2,opt,name=documentId,proto3" json:"documentId,omitempty"` -} - -func (m *TreeParamsRequest) Reset() { *m = TreeParamsRequest{} } -func (m *TreeParamsRequest) String() string { return proto.CompactTextString(m) } -func (*TreeParamsRequest) ProtoMessage() {} -func (*TreeParamsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{19} -} -func (m *TreeParamsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TreeParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TreeParamsRequest.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 *TreeParamsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TreeParamsRequest.Merge(m, src) -} -func (m *TreeParamsRequest) XXX_Size() int { - return m.Size() -} -func (m *TreeParamsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_TreeParamsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_TreeParamsRequest proto.InternalMessageInfo - -func (m *TreeParamsRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *TreeParamsRequest) GetDocumentId() string { - if m != nil { - return m.DocumentId - } - return "" -} - -type TreeParamsResponse struct { - RootId string `protobuf:"bytes,1,opt,name=rootId,proto3" json:"rootId,omitempty"` - HeadIds []string `protobuf:"bytes,2,rep,name=headIds,proto3" json:"headIds,omitempty"` -} - -func (m *TreeParamsResponse) Reset() { *m = TreeParamsResponse{} } -func (m *TreeParamsResponse) String() string { return proto.CompactTextString(m) } -func (*TreeParamsResponse) ProtoMessage() {} -func (*TreeParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{20} -} -func (m *TreeParamsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TreeParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TreeParamsResponse.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 *TreeParamsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_TreeParamsResponse.Merge(m, src) -} -func (m *TreeParamsResponse) XXX_Size() int { - return m.Size() -} -func (m *TreeParamsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_TreeParamsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_TreeParamsResponse proto.InternalMessageInfo - -func (m *TreeParamsResponse) GetRootId() string { - if m != nil { - return m.RootId - } - return "" -} - -func (m *TreeParamsResponse) GetHeadIds() []string { - if m != nil { - return m.HeadIds - } - return nil -} - -type WatchRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - TreeId string `protobuf:"bytes,2,opt,name=treeId,proto3" json:"treeId,omitempty"` -} - -func (m *WatchRequest) Reset() { *m = WatchRequest{} } -func (m *WatchRequest) String() string { return proto.CompactTextString(m) } -func (*WatchRequest) ProtoMessage() {} -func (*WatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{21} -} -func (m *WatchRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *WatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_WatchRequest.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 *WatchRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_WatchRequest.Merge(m, src) -} -func (m *WatchRequest) XXX_Size() int { - return m.Size() -} -func (m *WatchRequest) XXX_DiscardUnknown() { - xxx_messageInfo_WatchRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_WatchRequest proto.InternalMessageInfo - -func (m *WatchRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *WatchRequest) GetTreeId() string { - if m != nil { - return m.TreeId - } - return "" -} - -type WatchResponse struct { -} - -func (m *WatchResponse) Reset() { *m = WatchResponse{} } -func (m *WatchResponse) String() string { return proto.CompactTextString(m) } -func (*WatchResponse) ProtoMessage() {} -func (*WatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{22} -} -func (m *WatchResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *WatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_WatchResponse.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 *WatchResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_WatchResponse.Merge(m, src) -} -func (m *WatchResponse) XXX_Size() int { - return m.Size() -} -func (m *WatchResponse) XXX_DiscardUnknown() { - xxx_messageInfo_WatchResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_WatchResponse proto.InternalMessageInfo - -type UnwatchRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - TreeId string `protobuf:"bytes,2,opt,name=treeId,proto3" json:"treeId,omitempty"` -} - -func (m *UnwatchRequest) Reset() { *m = UnwatchRequest{} } -func (m *UnwatchRequest) String() string { return proto.CompactTextString(m) } -func (*UnwatchRequest) ProtoMessage() {} -func (*UnwatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{23} -} -func (m *UnwatchRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *UnwatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_UnwatchRequest.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 *UnwatchRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnwatchRequest.Merge(m, src) -} -func (m *UnwatchRequest) XXX_Size() int { - return m.Size() -} -func (m *UnwatchRequest) XXX_DiscardUnknown() { - xxx_messageInfo_UnwatchRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_UnwatchRequest proto.InternalMessageInfo - -func (m *UnwatchRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *UnwatchRequest) GetTreeId() string { - if m != nil { - return m.TreeId - } - return "" -} - -type UnwatchResponse struct { -} - -func (m *UnwatchResponse) Reset() { *m = UnwatchResponse{} } -func (m *UnwatchResponse) String() string { return proto.CompactTextString(m) } -func (*UnwatchResponse) ProtoMessage() {} -func (*UnwatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{24} -} -func (m *UnwatchResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *UnwatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_UnwatchResponse.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 *UnwatchResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnwatchResponse.Merge(m, src) -} -func (m *UnwatchResponse) XXX_Size() int { - return m.Size() -} -func (m *UnwatchResponse) XXX_DiscardUnknown() { - xxx_messageInfo_UnwatchResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_UnwatchResponse proto.InternalMessageInfo - -type PutFileRequest struct { - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - SpaceId string `protobuf:"bytes,2,opt,name=spaceId,proto3" json:"spaceId,omitempty"` -} - -func (m *PutFileRequest) Reset() { *m = PutFileRequest{} } -func (m *PutFileRequest) String() string { return proto.CompactTextString(m) } -func (*PutFileRequest) ProtoMessage() {} -func (*PutFileRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{25} -} -func (m *PutFileRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PutFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PutFileRequest.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 *PutFileRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_PutFileRequest.Merge(m, src) -} -func (m *PutFileRequest) XXX_Size() int { - return m.Size() -} -func (m *PutFileRequest) XXX_DiscardUnknown() { - xxx_messageInfo_PutFileRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_PutFileRequest proto.InternalMessageInfo - -func (m *PutFileRequest) GetPath() string { - if m != nil { - return m.Path - } - return "" -} - -func (m *PutFileRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -type PutFileResponse struct { - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *PutFileResponse) Reset() { *m = PutFileResponse{} } -func (m *PutFileResponse) String() string { return proto.CompactTextString(m) } -func (*PutFileResponse) ProtoMessage() {} -func (*PutFileResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{26} -} -func (m *PutFileResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PutFileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PutFileResponse.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 *PutFileResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_PutFileResponse.Merge(m, src) -} -func (m *PutFileResponse) XXX_Size() int { - return m.Size() -} -func (m *PutFileResponse) XXX_DiscardUnknown() { - xxx_messageInfo_PutFileResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_PutFileResponse proto.InternalMessageInfo - -func (m *PutFileResponse) GetHash() string { - if m != nil { - return m.Hash - } - return "" -} - -type GetFileRequest struct { - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` -} - -func (m *GetFileRequest) Reset() { *m = GetFileRequest{} } -func (m *GetFileRequest) String() string { return proto.CompactTextString(m) } -func (*GetFileRequest) ProtoMessage() {} -func (*GetFileRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{27} -} -func (m *GetFileRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *GetFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_GetFileRequest.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 *GetFileRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFileRequest.Merge(m, src) -} -func (m *GetFileRequest) XXX_Size() int { - return m.Size() -} -func (m *GetFileRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetFileRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_GetFileRequest proto.InternalMessageInfo - -func (m *GetFileRequest) GetHash() string { - if m != nil { - return m.Hash - } - return "" -} - -func (m *GetFileRequest) GetPath() string { - if m != nil { - return m.Path - } - return "" -} - -type GetFileResponse struct { - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` -} - -func (m *GetFileResponse) Reset() { *m = GetFileResponse{} } -func (m *GetFileResponse) String() string { return proto.CompactTextString(m) } -func (*GetFileResponse) ProtoMessage() {} -func (*GetFileResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{28} -} -func (m *GetFileResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *GetFileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_GetFileResponse.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 *GetFileResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFileResponse.Merge(m, src) -} -func (m *GetFileResponse) XXX_Size() int { - return m.Size() -} -func (m *GetFileResponse) XXX_DiscardUnknown() { - xxx_messageInfo_GetFileResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_GetFileResponse proto.InternalMessageInfo - -func (m *GetFileResponse) GetPath() string { - if m != nil { - return m.Path - } - return "" -} - -type DeleteFileRequest struct { - Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` -} - -func (m *DeleteFileRequest) Reset() { *m = DeleteFileRequest{} } -func (m *DeleteFileRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteFileRequest) ProtoMessage() {} -func (*DeleteFileRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{29} -} -func (m *DeleteFileRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DeleteFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DeleteFileRequest.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 *DeleteFileRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteFileRequest.Merge(m, src) -} -func (m *DeleteFileRequest) XXX_Size() int { - return m.Size() -} -func (m *DeleteFileRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteFileRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteFileRequest proto.InternalMessageInfo - -func (m *DeleteFileRequest) GetHash() string { - if m != nil { - return m.Hash - } - return "" -} - -type DeleteFileResponse struct { -} - -func (m *DeleteFileResponse) Reset() { *m = DeleteFileResponse{} } -func (m *DeleteFileResponse) String() string { return proto.CompactTextString(m) } -func (*DeleteFileResponse) ProtoMessage() {} -func (*DeleteFileResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_b1497d7bbf3441cb, []int{30} -} -func (m *DeleteFileResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DeleteFileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DeleteFileResponse.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 *DeleteFileResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteFileResponse.Merge(m, src) -} -func (m *DeleteFileResponse) XXX_Size() int { - return m.Size() -} -func (m *DeleteFileResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteFileResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteFileResponse proto.InternalMessageInfo - -func init() { - proto.RegisterType((*CreateSpaceRequest)(nil), "clientdebugrpc.CreateSpaceRequest") - proto.RegisterType((*CreateSpaceResponse)(nil), "clientdebugrpc.CreateSpaceResponse") - proto.RegisterType((*DeriveSpaceRequest)(nil), "clientdebugrpc.DeriveSpaceRequest") - proto.RegisterType((*DeriveSpaceResponse)(nil), "clientdebugrpc.DeriveSpaceResponse") - proto.RegisterType((*CreateDocumentRequest)(nil), "clientdebugrpc.CreateDocumentRequest") - proto.RegisterType((*CreateDocumentResponse)(nil), "clientdebugrpc.CreateDocumentResponse") - proto.RegisterType((*DeleteDocumentRequest)(nil), "clientdebugrpc.DeleteDocumentRequest") - proto.RegisterType((*DeleteDocumentResponse)(nil), "clientdebugrpc.DeleteDocumentResponse") - proto.RegisterType((*AddTextRequest)(nil), "clientdebugrpc.AddTextRequest") - proto.RegisterType((*AddTextResponse)(nil), "clientdebugrpc.AddTextResponse") - proto.RegisterType((*DumpTreeRequest)(nil), "clientdebugrpc.DumpTreeRequest") - proto.RegisterType((*DumpTreeResponse)(nil), "clientdebugrpc.DumpTreeResponse") - proto.RegisterType((*AllTreesRequest)(nil), "clientdebugrpc.AllTreesRequest") - proto.RegisterType((*Tree)(nil), "clientdebugrpc.Tree") - proto.RegisterType((*AllTreesResponse)(nil), "clientdebugrpc.AllTreesResponse") - proto.RegisterType((*AllSpacesRequest)(nil), "clientdebugrpc.AllSpacesRequest") - proto.RegisterType((*AllSpacesResponse)(nil), "clientdebugrpc.AllSpacesResponse") - proto.RegisterType((*LoadSpaceRequest)(nil), "clientdebugrpc.LoadSpaceRequest") - proto.RegisterType((*LoadSpaceResponse)(nil), "clientdebugrpc.LoadSpaceResponse") - proto.RegisterType((*TreeParamsRequest)(nil), "clientdebugrpc.TreeParamsRequest") - proto.RegisterType((*TreeParamsResponse)(nil), "clientdebugrpc.TreeParamsResponse") - proto.RegisterType((*WatchRequest)(nil), "clientdebugrpc.WatchRequest") - proto.RegisterType((*WatchResponse)(nil), "clientdebugrpc.WatchResponse") - proto.RegisterType((*UnwatchRequest)(nil), "clientdebugrpc.UnwatchRequest") - proto.RegisterType((*UnwatchResponse)(nil), "clientdebugrpc.UnwatchResponse") - proto.RegisterType((*PutFileRequest)(nil), "clientdebugrpc.PutFileRequest") - proto.RegisterType((*PutFileResponse)(nil), "clientdebugrpc.PutFileResponse") - proto.RegisterType((*GetFileRequest)(nil), "clientdebugrpc.GetFileRequest") - proto.RegisterType((*GetFileResponse)(nil), "clientdebugrpc.GetFileResponse") - proto.RegisterType((*DeleteFileRequest)(nil), "clientdebugrpc.DeleteFileRequest") - proto.RegisterType((*DeleteFileResponse)(nil), "clientdebugrpc.DeleteFileResponse") -} - -func init() { - proto.RegisterFile("debug/clientdebugrpc/clientdebugrpcproto/protos/clientdebugrpc.proto", fileDescriptor_b1497d7bbf3441cb) -} - -var fileDescriptor_b1497d7bbf3441cb = []byte{ - // 819 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4d, 0x6f, 0xd3, 0x40, - 0x10, 0xad, 0xd3, 0xf4, 0x23, 0x53, 0x70, 0x9a, 0x6d, 0x1b, 0x59, 0x16, 0x98, 0x74, 0x51, 0x4b, - 0x04, 0x55, 0x2b, 0xca, 0x85, 0x53, 0x45, 0xdb, 0xa8, 0xa8, 0x85, 0x4a, 0x25, 0x29, 0x45, 0xe2, - 0x82, 0xdc, 0x78, 0x45, 0x2c, 0x25, 0xb1, 0xb1, 0x1d, 0xe8, 0x89, 0xdf, 0xc0, 0xcf, 0xe2, 0xd8, - 0x23, 0x37, 0x50, 0xf3, 0x47, 0xd0, 0xda, 0x6b, 0xaf, 0x77, 0x37, 0x1f, 0xa0, 0x5c, 0xda, 0xdd, - 0xd9, 0x37, 0xef, 0x8d, 0xd7, 0xe3, 0x37, 0x81, 0x86, 0x43, 0xae, 0x07, 0x9f, 0xf7, 0xda, 0x5d, - 0x97, 0xf4, 0xa3, 0x78, 0x1d, 0xf8, 0x6d, 0x69, 0xeb, 0x07, 0x5e, 0xe4, 0xed, 0xc5, 0x7f, 0x43, - 0xe9, 0x68, 0x37, 0x8e, 0x22, 0x5d, 0x8c, 0xe2, 0x75, 0x40, 0xc7, 0x01, 0xb1, 0x23, 0xd2, 0xf2, - 0xed, 0x36, 0x69, 0x92, 0x2f, 0x03, 0x12, 0x46, 0x78, 0x0b, 0xd6, 0x84, 0x68, 0xe8, 0x7b, 0xfd, - 0x90, 0x20, 0x1d, 0x0a, 0xae, 0x63, 0x68, 0x35, 0xad, 0x5e, 0x6a, 0x16, 0x5c, 0x87, 0x26, 0x37, - 0x48, 0xe0, 0x7e, 0x55, 0x92, 0x85, 0xe8, 0x98, 0xe4, 0xe7, 0xb0, 0x91, 0x68, 0x34, 0xbc, 0xf6, - 0xa0, 0x47, 0xfa, 0x11, 0xcb, 0x47, 0x06, 0x2c, 0x85, 0x34, 0xf3, 0x34, 0x45, 0xa7, 0x5b, 0x5c, - 0x87, 0xaa, 0x9c, 0x32, 0x86, 0xfc, 0x1d, 0x6c, 0x34, 0x48, 0x97, 0xfc, 0x07, 0x39, 0xb2, 0x00, - 0x1c, 0x06, 0x3e, 0x75, 0x8c, 0x42, 0x7c, 0x98, 0x8b, 0x60, 0x03, 0xaa, 0x32, 0x65, 0x22, 0x8e, - 0xbf, 0x83, 0x7e, 0xe8, 0x38, 0x97, 0xe4, 0x66, 0x76, 0x15, 0x84, 0xa0, 0x18, 0x91, 0x9b, 0xc8, - 0x98, 0x8f, 0x4f, 0xe2, 0x35, 0xcd, 0x71, 0xc3, 0x56, 0xdf, 0xf6, 0xc3, 0x8e, 0x17, 0x19, 0xc5, - 0x9a, 0x56, 0x5f, 0x6e, 0xe6, 0x22, 0xd8, 0x86, 0x72, 0xa6, 0xcf, 0xee, 0x43, 0x94, 0xd1, 0x14, - 0x99, 0x2a, 0x2c, 0x76, 0x88, 0xed, 0x64, 0x25, 0xb0, 0x1d, 0x8d, 0x07, 0x9e, 0x47, 0x73, 0x92, - 0x02, 0xd8, 0x0e, 0xbf, 0x81, 0x72, 0x63, 0xd0, 0xf3, 0x2f, 0x03, 0x42, 0x66, 0xbf, 0xc9, 0x6d, - 0x58, 0xe5, 0x64, 0xac, 0x60, 0x04, 0x45, 0x67, 0xd0, 0xf3, 0x19, 0x55, 0xbc, 0xc6, 0xcf, 0xa0, - 0x7c, 0xd8, 0xed, 0x52, 0x58, 0x38, 0xbd, 0x37, 0x76, 0xa0, 0x48, 0x91, 0x72, 0x27, 0xa0, 0x75, - 0x58, 0xa0, 0xcf, 0x16, 0x1a, 0x85, 0xda, 0x7c, 0xbd, 0xd4, 0x4c, 0x36, 0xf8, 0x00, 0x56, 0x39, - 0x35, 0x2b, 0xe1, 0x29, 0x2c, 0x44, 0x34, 0x60, 0x68, 0xb5, 0xf9, 0xfa, 0xca, 0xfe, 0xfa, 0xae, - 0xf4, 0x01, 0xc5, 0xf5, 0x26, 0x10, 0x8c, 0xe2, 0xfc, 0xb8, 0xc1, 0xd3, 0xda, 0xf0, 0x1e, 0x54, - 0x72, 0x31, 0x46, 0x6a, 0xc2, 0x32, 0xab, 0x30, 0xe1, 0x2d, 0x35, 0xb3, 0x3d, 0xde, 0x81, 0xd5, - 0xb7, 0x9e, 0xed, 0xe4, 0x3f, 0x9e, 0x09, 0x0f, 0xb8, 0x06, 0x95, 0x1c, 0x9a, 0xb5, 0xde, 0x39, - 0x54, 0x68, 0x59, 0x17, 0x76, 0x60, 0xf7, 0xc2, 0xd9, 0xdf, 0xcc, 0x09, 0xa0, 0x3c, 0x1d, 0x7b, - 0x06, 0xde, 0x14, 0x5a, 0xbe, 0x29, 0xa8, 0x4e, 0xd2, 0x36, 0xe9, 0xe5, 0xa6, 0x5b, 0xfc, 0x0a, - 0xee, 0x7d, 0xb0, 0xa3, 0x76, 0x67, 0x7a, 0x45, 0x55, 0x58, 0xa4, 0x37, 0xca, 0x1b, 0x31, 0xd9, - 0xe1, 0x32, 0xdc, 0x67, 0x0c, 0xec, 0x49, 0x8f, 0x40, 0x7f, 0xdf, 0xff, 0x36, 0x1b, 0x69, 0x05, - 0xca, 0x19, 0x07, 0xa3, 0x3d, 0x00, 0xfd, 0x62, 0x10, 0x9d, 0xb8, 0xdd, 0xec, 0x0d, 0x20, 0x28, - 0xfa, 0x76, 0xd4, 0x49, 0x3b, 0x91, 0xae, 0xf3, 0x52, 0x05, 0xf1, 0xad, 0x6c, 0x41, 0x39, 0xcb, - 0xe7, 0xad, 0xdc, 0xb1, 0xc3, 0x8c, 0x80, 0xae, 0xf1, 0x4b, 0xd0, 0x5f, 0x13, 0x59, 0x46, 0x46, - 0x65, 0xd2, 0x05, 0x2e, 0x4d, 0x05, 0xb2, 0x4c, 0x2e, 0x20, 0x57, 0x88, 0x9f, 0x40, 0x25, 0x71, - 0xa7, 0x29, 0x1a, 0x89, 0x67, 0x73, 0x60, 0x42, 0xb9, 0xff, 0xbb, 0x04, 0xa5, 0xe3, 0xb8, 0xdd, - 0x0f, 0x7d, 0x17, 0x5d, 0xc1, 0x4a, 0xce, 0xfe, 0x11, 0x96, 0xbf, 0x04, 0x75, 0x62, 0x98, 0x8f, - 0x27, 0x62, 0x58, 0xe1, 0x57, 0xb0, 0x92, 0x9b, 0x0c, 0x2a, 0xaf, 0x3a, 0x4c, 0x54, 0xde, 0x51, - 0xa3, 0xe5, 0x13, 0xe8, 0xe2, 0x5c, 0x40, 0x5b, 0xa3, 0xcb, 0x91, 0xa6, 0x81, 0xb9, 0x3d, 0x0d, - 0xc6, 0x05, 0x44, 0xef, 0x57, 0x05, 0x46, 0x8e, 0x1b, 0x55, 0x60, 0xf4, 0x08, 0x41, 0x67, 0xb0, - 0xc4, 0x2c, 0x1c, 0x59, 0x72, 0x8a, 0x38, 0x5b, 0xcc, 0x47, 0x63, 0xcf, 0x19, 0xd7, 0x39, 0x2c, - 0xa7, 0xf6, 0x8a, 0x14, 0xb0, 0xe4, 0xe2, 0x66, 0x6d, 0x3c, 0x80, 0xd1, 0xb5, 0x00, 0xb8, 0x27, - 0xa0, 0xcd, 0x51, 0xae, 0x28, 0xd8, 0x8f, 0x89, 0x27, 0x41, 0x78, 0x8d, 0xa9, 0xff, 0xaa, 0x35, - 0x4a, 0xa6, 0xaf, 0xd6, 0xa8, 0x58, 0xf7, 0x05, 0x94, 0x32, 0xeb, 0x45, 0xa3, 0xe0, 0x82, 0x53, - 0x9b, 0x9b, 0x13, 0x10, 0x9c, 0x31, 0x73, 0x5b, 0x95, 0x51, 0xb6, 0x6d, 0x95, 0x51, 0xb1, 0x6a, - 0xd4, 0x80, 0x85, 0xd8, 0xd1, 0xd0, 0x03, 0x19, 0x9b, 0xb7, 0x4a, 0xf3, 0xe1, 0x98, 0x53, 0xde, - 0x28, 0xcc, 0xc2, 0xd4, 0x46, 0x11, 0xfd, 0x51, 0x6d, 0x14, 0xc9, 0xfb, 0x28, 0x17, 0xf3, 0x2e, - 0x95, 0x4b, 0x34, 0x45, 0x95, 0x4b, 0x36, 0xbd, 0x33, 0x58, 0x62, 0x36, 0xa5, 0x72, 0x89, 0xce, - 0xa7, 0x72, 0xc9, 0xfe, 0xd6, 0x02, 0xe0, 0x16, 0xa5, 0x76, 0x9c, 0xe2, 0x73, 0x26, 0x9e, 0x04, - 0x49, 0x48, 0x8f, 0x8e, 0x7e, 0xde, 0x59, 0xda, 0xed, 0x9d, 0xa5, 0xfd, 0xb9, 0xb3, 0xb4, 0x1f, - 0x43, 0x6b, 0xee, 0x76, 0x68, 0xcd, 0xfd, 0x1a, 0x5a, 0x73, 0x1f, 0xeb, 0xff, 0xfa, 0xc3, 0xfa, - 0x7a, 0x31, 0xfe, 0xf7, 0xe2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x4d, 0xcd, 0x76, 0x8b, - 0x0b, 0x00, 0x00, -} - -func (m *CreateSpaceRequest) 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 *CreateSpaceRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *CreateSpaceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *CreateSpaceResponse) 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 *CreateSpaceResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *CreateSpaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DeriveSpaceRequest) 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 *DeriveSpaceRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DeriveSpaceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *DeriveSpaceResponse) 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 *DeriveSpaceResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DeriveSpaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateDocumentRequest) 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 *CreateDocumentRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *CreateDocumentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateDocumentResponse) 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 *CreateDocumentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *CreateDocumentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DeleteDocumentRequest) 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 *DeleteDocumentRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DeleteDocumentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.DocumentId) > 0 { - i -= len(m.DocumentId) - copy(dAtA[i:], m.DocumentId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.DocumentId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DeleteDocumentResponse) 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 *DeleteDocumentResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DeleteDocumentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *AddTextRequest) 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 *AddTextRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AddTextRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.IsSnapshot { - i-- - if m.IsSnapshot { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if len(m.Text) > 0 { - i -= len(m.Text) - copy(dAtA[i:], m.Text) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Text))) - i-- - dAtA[i] = 0x1a - } - if len(m.DocumentId) > 0 { - i -= len(m.DocumentId) - copy(dAtA[i:], m.DocumentId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.DocumentId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AddTextResponse) 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 *AddTextResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AddTextResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.RootId) > 0 { - i -= len(m.RootId) - copy(dAtA[i:], m.RootId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.RootId))) - i-- - dAtA[i] = 0x1a - } - if len(m.HeadId) > 0 { - i -= len(m.HeadId) - copy(dAtA[i:], m.HeadId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.HeadId))) - i-- - dAtA[i] = 0x12 - } - if len(m.DocumentId) > 0 { - i -= len(m.DocumentId) - copy(dAtA[i:], m.DocumentId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.DocumentId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DumpTreeRequest) 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 *DumpTreeRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DumpTreeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.DocumentId) > 0 { - i -= len(m.DocumentId) - copy(dAtA[i:], m.DocumentId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.DocumentId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DumpTreeResponse) 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 *DumpTreeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DumpTreeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Dump) > 0 { - i -= len(m.Dump) - copy(dAtA[i:], m.Dump) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Dump))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AllTreesRequest) 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 *AllTreesRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllTreesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Tree) 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 *Tree) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Tree) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Heads) > 0 { - for iNdEx := len(m.Heads) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Heads[iNdEx]) - copy(dAtA[i:], m.Heads[iNdEx]) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Heads[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AllTreesResponse) 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 *AllTreesResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllTreesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Trees) > 0 { - for iNdEx := len(m.Trees) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Trees[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintClientdebugrpc(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *AllSpacesRequest) 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 *AllSpacesRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllSpacesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *AllSpacesResponse) 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 *AllSpacesResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllSpacesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpaceIds) > 0 { - for iNdEx := len(m.SpaceIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.SpaceIds[iNdEx]) - copy(dAtA[i:], m.SpaceIds[iNdEx]) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *LoadSpaceRequest) 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 *LoadSpaceRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *LoadSpaceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *LoadSpaceResponse) 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 *LoadSpaceResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *LoadSpaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *TreeParamsRequest) 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 *TreeParamsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TreeParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.DocumentId) > 0 { - i -= len(m.DocumentId) - copy(dAtA[i:], m.DocumentId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.DocumentId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TreeParamsResponse) 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 *TreeParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TreeParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.HeadIds) > 0 { - for iNdEx := len(m.HeadIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.HeadIds[iNdEx]) - copy(dAtA[i:], m.HeadIds[iNdEx]) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.HeadIds[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.RootId) > 0 { - i -= len(m.RootId) - copy(dAtA[i:], m.RootId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.RootId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *WatchRequest) 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 *WatchRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.TreeId) > 0 { - i -= len(m.TreeId) - copy(dAtA[i:], m.TreeId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.TreeId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *WatchResponse) 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 *WatchResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *UnwatchRequest) 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 *UnwatchRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *UnwatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.TreeId) > 0 { - i -= len(m.TreeId) - copy(dAtA[i:], m.TreeId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.TreeId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UnwatchResponse) 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 *UnwatchResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *UnwatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *PutFileRequest) 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 *PutFileRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PutFileRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Path) > 0 { - i -= len(m.Path) - copy(dAtA[i:], m.Path) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Path))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PutFileResponse) 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 *PutFileResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PutFileResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetFileRequest) 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 *GetFileRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *GetFileRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Path) > 0 { - i -= len(m.Path) - copy(dAtA[i:], m.Path) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Path))) - i-- - dAtA[i] = 0x12 - } - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetFileResponse) 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 *GetFileResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *GetFileResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Path) > 0 { - i -= len(m.Path) - copy(dAtA[i:], m.Path) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Path))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DeleteFileRequest) 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 *DeleteFileRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DeleteFileRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintClientdebugrpc(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DeleteFileResponse) 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 *DeleteFileResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DeleteFileResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func encodeVarintClientdebugrpc(dAtA []byte, offset int, v uint64) int { - offset -= sovClientdebugrpc(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *CreateSpaceRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *CreateSpaceResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *DeriveSpaceRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *DeriveSpaceResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *CreateDocumentRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *CreateDocumentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *DeleteDocumentRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.DocumentId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *DeleteDocumentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *AddTextRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.DocumentId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.Text) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - if m.IsSnapshot { - n += 2 - } - return n -} - -func (m *AddTextResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DocumentId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.HeadId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.RootId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *DumpTreeRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.DocumentId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *DumpTreeResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Dump) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *AllTreesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *Tree) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - if len(m.Heads) > 0 { - for _, s := range m.Heads { - l = len(s) - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - } - return n -} - -func (m *AllTreesResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Trees) > 0 { - for _, e := range m.Trees { - l = e.Size() - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - } - return n -} - -func (m *AllSpacesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *AllSpacesResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.SpaceIds) > 0 { - for _, s := range m.SpaceIds { - l = len(s) - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - } - return n -} - -func (m *LoadSpaceRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *LoadSpaceResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *TreeParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.DocumentId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *TreeParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.RootId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - if len(m.HeadIds) > 0 { - for _, s := range m.HeadIds { - l = len(s) - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - } - return n -} - -func (m *WatchRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.TreeId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *WatchResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *UnwatchRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.TreeId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *UnwatchResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *PutFileRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Path) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *PutFileResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *GetFileRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - l = len(m.Path) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *GetFileResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Path) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *DeleteFileRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovClientdebugrpc(uint64(l)) - } - return n -} - -func (m *DeleteFileResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func sovClientdebugrpc(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozClientdebugrpc(x uint64) (n int) { - return sovClientdebugrpc(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *CreateSpaceRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: CreateSpaceRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateSpaceRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateSpaceResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: CreateSpaceResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateSpaceResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DeriveSpaceRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: DeriveSpaceRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DeriveSpaceRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DeriveSpaceResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: DeriveSpaceResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DeriveSpaceResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateDocumentRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: CreateDocumentRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDocumentRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateDocumentResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: CreateDocumentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDocumentResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DeleteDocumentRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: DeleteDocumentRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DeleteDocumentRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DocumentId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DocumentId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DeleteDocumentResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: DeleteDocumentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DeleteDocumentResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AddTextRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: AddTextRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AddTextRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DocumentId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DocumentId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Text", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Text = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsSnapshot", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsSnapshot = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AddTextResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: AddTextResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AddTextResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DocumentId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DocumentId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HeadId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HeadId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RootId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.RootId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DumpTreeRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: DumpTreeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DumpTreeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DocumentId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DocumentId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DumpTreeResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: DumpTreeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DumpTreeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Dump", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Dump = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllTreesRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: AllTreesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllTreesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Tree) 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 ErrIntOverflowClientdebugrpc - } - 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: Tree: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Tree: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Heads", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Heads = append(m.Heads, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllTreesResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: AllTreesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllTreesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Trees", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Trees = append(m.Trees, &Tree{}) - if err := m.Trees[len(m.Trees)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllSpacesRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: AllSpacesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllSpacesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllSpacesResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: AllSpacesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllSpacesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceIds = append(m.SpaceIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *LoadSpaceRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: LoadSpaceRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: LoadSpaceRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *LoadSpaceResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: LoadSpaceResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: LoadSpaceResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TreeParamsRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: TreeParamsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TreeParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DocumentId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DocumentId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TreeParamsResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: TreeParamsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TreeParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RootId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.RootId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HeadIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HeadIds = append(m.HeadIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *WatchRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: WatchRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: WatchRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TreeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TreeId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *WatchResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: WatchResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: WatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnwatchRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: UnwatchRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnwatchRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TreeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TreeId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnwatchResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: UnwatchResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnwatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PutFileRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: PutFileRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PutFileRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Path = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PutFileResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: PutFileResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PutFileResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetFileRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: GetFileRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetFileRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Path = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetFileResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: GetFileResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetFileResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Path = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DeleteFileRequest) 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 ErrIntOverflowClientdebugrpc - } - 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: DeleteFileRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DeleteFileRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowClientdebugrpc - } - 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 ErrInvalidLengthClientdebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthClientdebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DeleteFileResponse) 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 ErrIntOverflowClientdebugrpc - } - 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: DeleteFileResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DeleteFileResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipClientdebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthClientdebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipClientdebugrpc(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowClientdebugrpc - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowClientdebugrpc - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowClientdebugrpc - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthClientdebugrpc - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupClientdebugrpc - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthClientdebugrpc - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthClientdebugrpc = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowClientdebugrpc = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupClientdebugrpc = fmt.Errorf("proto: unexpected end of group") -) diff --git a/client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc_drpc.pb.go b/client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc_drpc.pb.go deleted file mode 100644 index 7705177d..00000000 --- a/client/debug/clientdebugrpc/clientdebugrpcproto/clientdebugrpc_drpc.pb.go +++ /dev/null @@ -1,673 +0,0 @@ -// Code generated by protoc-gen-go-drpc. DO NOT EDIT. -// protoc-gen-go-drpc version: v0.0.32 -// source: debug/clientdebugrpc/clientdebugrpcproto/protos/clientdebugrpc.proto - -package clientdebugrpcproto - -import ( - bytes "bytes" - context "context" - errors "errors" - jsonpb "github.com/gogo/protobuf/jsonpb" - proto "github.com/gogo/protobuf/proto" - drpc "storj.io/drpc" - drpcerr "storj.io/drpc/drpcerr" -) - -type drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto struct{} - -func (drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto) Marshal(msg drpc.Message) ([]byte, error) { - return proto.Marshal(msg.(proto.Message)) -} - -func (drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto) Unmarshal(buf []byte, msg drpc.Message) error { - return proto.Unmarshal(buf, msg.(proto.Message)) -} - -func (drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto) JSONMarshal(msg drpc.Message) ([]byte, error) { - var buf bytes.Buffer - err := new(jsonpb.Marshaler).Marshal(&buf, msg.(proto.Message)) - if err != nil { - return nil, err - } - return buf.Bytes(), nil -} - -func (drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto) JSONUnmarshal(buf []byte, msg drpc.Message) error { - return jsonpb.Unmarshal(bytes.NewReader(buf), msg.(proto.Message)) -} - -type DRPCClientApiClient interface { - DRPCConn() drpc.Conn - - CreateSpace(ctx context.Context, in *CreateSpaceRequest) (*CreateSpaceResponse, error) - DeriveSpace(ctx context.Context, in *DeriveSpaceRequest) (*DeriveSpaceResponse, error) - CreateDocument(ctx context.Context, in *CreateDocumentRequest) (*CreateDocumentResponse, error) - DeleteDocument(ctx context.Context, in *DeleteDocumentRequest) (*DeleteDocumentResponse, error) - AddText(ctx context.Context, in *AddTextRequest) (*AddTextResponse, error) - DumpTree(ctx context.Context, in *DumpTreeRequest) (*DumpTreeResponse, error) - TreeParams(ctx context.Context, in *TreeParamsRequest) (*TreeParamsResponse, error) - AllTrees(ctx context.Context, in *AllTreesRequest) (*AllTreesResponse, error) - AllSpaces(ctx context.Context, in *AllSpacesRequest) (*AllSpacesResponse, error) - LoadSpace(ctx context.Context, in *LoadSpaceRequest) (*LoadSpaceResponse, error) - Watch(ctx context.Context, in *WatchRequest) (*WatchResponse, error) - Unwatch(ctx context.Context, in *UnwatchRequest) (*UnwatchResponse, error) - PutFile(ctx context.Context, in *PutFileRequest) (*PutFileResponse, error) - GetFile(ctx context.Context, in *GetFileRequest) (*GetFileResponse, error) - DeleteFile(ctx context.Context, in *DeleteFileRequest) (*DeleteFileResponse, error) -} - -type drpcClientApiClient struct { - cc drpc.Conn -} - -func NewDRPCClientApiClient(cc drpc.Conn) DRPCClientApiClient { - return &drpcClientApiClient{cc} -} - -func (c *drpcClientApiClient) DRPCConn() drpc.Conn { return c.cc } - -func (c *drpcClientApiClient) CreateSpace(ctx context.Context, in *CreateSpaceRequest) (*CreateSpaceResponse, error) { - out := new(CreateSpaceResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/CreateSpace", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) DeriveSpace(ctx context.Context, in *DeriveSpaceRequest) (*DeriveSpaceResponse, error) { - out := new(DeriveSpaceResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/DeriveSpace", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) CreateDocument(ctx context.Context, in *CreateDocumentRequest) (*CreateDocumentResponse, error) { - out := new(CreateDocumentResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/CreateDocument", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest) (*DeleteDocumentResponse, error) { - out := new(DeleteDocumentResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/DeleteDocument", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) AddText(ctx context.Context, in *AddTextRequest) (*AddTextResponse, error) { - out := new(AddTextResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/AddText", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) DumpTree(ctx context.Context, in *DumpTreeRequest) (*DumpTreeResponse, error) { - out := new(DumpTreeResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/DumpTree", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) TreeParams(ctx context.Context, in *TreeParamsRequest) (*TreeParamsResponse, error) { - out := new(TreeParamsResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/TreeParams", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) AllTrees(ctx context.Context, in *AllTreesRequest) (*AllTreesResponse, error) { - out := new(AllTreesResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/AllTrees", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) AllSpaces(ctx context.Context, in *AllSpacesRequest) (*AllSpacesResponse, error) { - out := new(AllSpacesResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/AllSpaces", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) LoadSpace(ctx context.Context, in *LoadSpaceRequest) (*LoadSpaceResponse, error) { - out := new(LoadSpaceResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/LoadSpace", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) Watch(ctx context.Context, in *WatchRequest) (*WatchResponse, error) { - out := new(WatchResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/Watch", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) Unwatch(ctx context.Context, in *UnwatchRequest) (*UnwatchResponse, error) { - out := new(UnwatchResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/Unwatch", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) PutFile(ctx context.Context, in *PutFileRequest) (*PutFileResponse, error) { - out := new(PutFileResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/PutFile", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) GetFile(ctx context.Context, in *GetFileRequest) (*GetFileResponse, error) { - out := new(GetFileResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/GetFile", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcClientApiClient) DeleteFile(ctx context.Context, in *DeleteFileRequest) (*DeleteFileResponse, error) { - out := new(DeleteFileResponse) - err := c.cc.Invoke(ctx, "/clientdebugrpc.ClientApi/DeleteFile", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -type DRPCClientApiServer interface { - CreateSpace(context.Context, *CreateSpaceRequest) (*CreateSpaceResponse, error) - DeriveSpace(context.Context, *DeriveSpaceRequest) (*DeriveSpaceResponse, error) - CreateDocument(context.Context, *CreateDocumentRequest) (*CreateDocumentResponse, error) - DeleteDocument(context.Context, *DeleteDocumentRequest) (*DeleteDocumentResponse, error) - AddText(context.Context, *AddTextRequest) (*AddTextResponse, error) - DumpTree(context.Context, *DumpTreeRequest) (*DumpTreeResponse, error) - TreeParams(context.Context, *TreeParamsRequest) (*TreeParamsResponse, error) - AllTrees(context.Context, *AllTreesRequest) (*AllTreesResponse, error) - AllSpaces(context.Context, *AllSpacesRequest) (*AllSpacesResponse, error) - LoadSpace(context.Context, *LoadSpaceRequest) (*LoadSpaceResponse, error) - Watch(context.Context, *WatchRequest) (*WatchResponse, error) - Unwatch(context.Context, *UnwatchRequest) (*UnwatchResponse, error) - PutFile(context.Context, *PutFileRequest) (*PutFileResponse, error) - GetFile(context.Context, *GetFileRequest) (*GetFileResponse, error) - DeleteFile(context.Context, *DeleteFileRequest) (*DeleteFileResponse, error) -} - -type DRPCClientApiUnimplementedServer struct{} - -func (s *DRPCClientApiUnimplementedServer) CreateSpace(context.Context, *CreateSpaceRequest) (*CreateSpaceResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) DeriveSpace(context.Context, *DeriveSpaceRequest) (*DeriveSpaceResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) CreateDocument(context.Context, *CreateDocumentRequest) (*CreateDocumentResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) DeleteDocument(context.Context, *DeleteDocumentRequest) (*DeleteDocumentResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) AddText(context.Context, *AddTextRequest) (*AddTextResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) DumpTree(context.Context, *DumpTreeRequest) (*DumpTreeResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) TreeParams(context.Context, *TreeParamsRequest) (*TreeParamsResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) AllTrees(context.Context, *AllTreesRequest) (*AllTreesResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) AllSpaces(context.Context, *AllSpacesRequest) (*AllSpacesResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) LoadSpace(context.Context, *LoadSpaceRequest) (*LoadSpaceResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) Watch(context.Context, *WatchRequest) (*WatchResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) Unwatch(context.Context, *UnwatchRequest) (*UnwatchResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) PutFile(context.Context, *PutFileRequest) (*PutFileResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) GetFile(context.Context, *GetFileRequest) (*GetFileResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCClientApiUnimplementedServer) DeleteFile(context.Context, *DeleteFileRequest) (*DeleteFileResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -type DRPCClientApiDescription struct{} - -func (DRPCClientApiDescription) NumMethods() int { return 15 } - -func (DRPCClientApiDescription) Method(n int) (string, drpc.Encoding, drpc.Receiver, interface{}, bool) { - switch n { - case 0: - return "/clientdebugrpc.ClientApi/CreateSpace", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - CreateSpace( - ctx, - in1.(*CreateSpaceRequest), - ) - }, DRPCClientApiServer.CreateSpace, true - case 1: - return "/clientdebugrpc.ClientApi/DeriveSpace", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - DeriveSpace( - ctx, - in1.(*DeriveSpaceRequest), - ) - }, DRPCClientApiServer.DeriveSpace, true - case 2: - return "/clientdebugrpc.ClientApi/CreateDocument", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - CreateDocument( - ctx, - in1.(*CreateDocumentRequest), - ) - }, DRPCClientApiServer.CreateDocument, true - case 3: - return "/clientdebugrpc.ClientApi/DeleteDocument", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - DeleteDocument( - ctx, - in1.(*DeleteDocumentRequest), - ) - }, DRPCClientApiServer.DeleteDocument, true - case 4: - return "/clientdebugrpc.ClientApi/AddText", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - AddText( - ctx, - in1.(*AddTextRequest), - ) - }, DRPCClientApiServer.AddText, true - case 5: - return "/clientdebugrpc.ClientApi/DumpTree", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - DumpTree( - ctx, - in1.(*DumpTreeRequest), - ) - }, DRPCClientApiServer.DumpTree, true - case 6: - return "/clientdebugrpc.ClientApi/TreeParams", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - TreeParams( - ctx, - in1.(*TreeParamsRequest), - ) - }, DRPCClientApiServer.TreeParams, true - case 7: - return "/clientdebugrpc.ClientApi/AllTrees", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - AllTrees( - ctx, - in1.(*AllTreesRequest), - ) - }, DRPCClientApiServer.AllTrees, true - case 8: - return "/clientdebugrpc.ClientApi/AllSpaces", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - AllSpaces( - ctx, - in1.(*AllSpacesRequest), - ) - }, DRPCClientApiServer.AllSpaces, true - case 9: - return "/clientdebugrpc.ClientApi/LoadSpace", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - LoadSpace( - ctx, - in1.(*LoadSpaceRequest), - ) - }, DRPCClientApiServer.LoadSpace, true - case 10: - return "/clientdebugrpc.ClientApi/Watch", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - Watch( - ctx, - in1.(*WatchRequest), - ) - }, DRPCClientApiServer.Watch, true - case 11: - return "/clientdebugrpc.ClientApi/Unwatch", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - Unwatch( - ctx, - in1.(*UnwatchRequest), - ) - }, DRPCClientApiServer.Unwatch, true - case 12: - return "/clientdebugrpc.ClientApi/PutFile", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - PutFile( - ctx, - in1.(*PutFileRequest), - ) - }, DRPCClientApiServer.PutFile, true - case 13: - return "/clientdebugrpc.ClientApi/GetFile", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - GetFile( - ctx, - in1.(*GetFileRequest), - ) - }, DRPCClientApiServer.GetFile, true - case 14: - return "/clientdebugrpc.ClientApi/DeleteFile", drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCClientApiServer). - DeleteFile( - ctx, - in1.(*DeleteFileRequest), - ) - }, DRPCClientApiServer.DeleteFile, true - default: - return "", nil, nil, nil, false - } -} - -func DRPCRegisterClientApi(mux drpc.Mux, impl DRPCClientApiServer) error { - return mux.Register(impl, DRPCClientApiDescription{}) -} - -type DRPCClientApi_CreateSpaceStream interface { - drpc.Stream - SendAndClose(*CreateSpaceResponse) error -} - -type drpcClientApi_CreateSpaceStream struct { - drpc.Stream -} - -func (x *drpcClientApi_CreateSpaceStream) SendAndClose(m *CreateSpaceResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_DeriveSpaceStream interface { - drpc.Stream - SendAndClose(*DeriveSpaceResponse) error -} - -type drpcClientApi_DeriveSpaceStream struct { - drpc.Stream -} - -func (x *drpcClientApi_DeriveSpaceStream) SendAndClose(m *DeriveSpaceResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_CreateDocumentStream interface { - drpc.Stream - SendAndClose(*CreateDocumentResponse) error -} - -type drpcClientApi_CreateDocumentStream struct { - drpc.Stream -} - -func (x *drpcClientApi_CreateDocumentStream) SendAndClose(m *CreateDocumentResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_DeleteDocumentStream interface { - drpc.Stream - SendAndClose(*DeleteDocumentResponse) error -} - -type drpcClientApi_DeleteDocumentStream struct { - drpc.Stream -} - -func (x *drpcClientApi_DeleteDocumentStream) SendAndClose(m *DeleteDocumentResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_AddTextStream interface { - drpc.Stream - SendAndClose(*AddTextResponse) error -} - -type drpcClientApi_AddTextStream struct { - drpc.Stream -} - -func (x *drpcClientApi_AddTextStream) SendAndClose(m *AddTextResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_DumpTreeStream interface { - drpc.Stream - SendAndClose(*DumpTreeResponse) error -} - -type drpcClientApi_DumpTreeStream struct { - drpc.Stream -} - -func (x *drpcClientApi_DumpTreeStream) SendAndClose(m *DumpTreeResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_TreeParamsStream interface { - drpc.Stream - SendAndClose(*TreeParamsResponse) error -} - -type drpcClientApi_TreeParamsStream struct { - drpc.Stream -} - -func (x *drpcClientApi_TreeParamsStream) SendAndClose(m *TreeParamsResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_AllTreesStream interface { - drpc.Stream - SendAndClose(*AllTreesResponse) error -} - -type drpcClientApi_AllTreesStream struct { - drpc.Stream -} - -func (x *drpcClientApi_AllTreesStream) SendAndClose(m *AllTreesResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_AllSpacesStream interface { - drpc.Stream - SendAndClose(*AllSpacesResponse) error -} - -type drpcClientApi_AllSpacesStream struct { - drpc.Stream -} - -func (x *drpcClientApi_AllSpacesStream) SendAndClose(m *AllSpacesResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_LoadSpaceStream interface { - drpc.Stream - SendAndClose(*LoadSpaceResponse) error -} - -type drpcClientApi_LoadSpaceStream struct { - drpc.Stream -} - -func (x *drpcClientApi_LoadSpaceStream) SendAndClose(m *LoadSpaceResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_WatchStream interface { - drpc.Stream - SendAndClose(*WatchResponse) error -} - -type drpcClientApi_WatchStream struct { - drpc.Stream -} - -func (x *drpcClientApi_WatchStream) SendAndClose(m *WatchResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_UnwatchStream interface { - drpc.Stream - SendAndClose(*UnwatchResponse) error -} - -type drpcClientApi_UnwatchStream struct { - drpc.Stream -} - -func (x *drpcClientApi_UnwatchStream) SendAndClose(m *UnwatchResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_PutFileStream interface { - drpc.Stream - SendAndClose(*PutFileResponse) error -} - -type drpcClientApi_PutFileStream struct { - drpc.Stream -} - -func (x *drpcClientApi_PutFileStream) SendAndClose(m *PutFileResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_GetFileStream interface { - drpc.Stream - SendAndClose(*GetFileResponse) error -} - -type drpcClientApi_GetFileStream struct { - drpc.Stream -} - -func (x *drpcClientApi_GetFileStream) SendAndClose(m *GetFileResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCClientApi_DeleteFileStream interface { - drpc.Stream - SendAndClose(*DeleteFileResponse) error -} - -type drpcClientApi_DeleteFileStream struct { - drpc.Stream -} - -func (x *drpcClientApi_DeleteFileStream) SendAndClose(m *DeleteFileResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_clientdebugrpc_clientdebugrpcproto_protos_clientdebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} diff --git a/client/debug/clientdebugrpc/clientdebugrpcproto/protos/clientdebugrpc.proto b/client/debug/clientdebugrpc/clientdebugrpcproto/protos/clientdebugrpc.proto deleted file mode 100644 index 99e34432..00000000 --- a/client/debug/clientdebugrpc/clientdebugrpcproto/protos/clientdebugrpc.proto +++ /dev/null @@ -1,124 +0,0 @@ -syntax = "proto3"; -package clientdebugrpc; - -option go_package = "debug/clientdebugrpc/clientdebugrpcproto"; - -service ClientApi { - rpc CreateSpace(CreateSpaceRequest) returns(CreateSpaceResponse); - rpc DeriveSpace(DeriveSpaceRequest) returns(DeriveSpaceResponse); - rpc CreateDocument(CreateDocumentRequest) returns(CreateDocumentResponse); - rpc DeleteDocument(DeleteDocumentRequest) returns(DeleteDocumentResponse); - rpc AddText(AddTextRequest) returns(AddTextResponse); - rpc DumpTree(DumpTreeRequest) returns(DumpTreeResponse); - rpc TreeParams(TreeParamsRequest) returns(TreeParamsResponse); - rpc AllTrees(AllTreesRequest) returns(AllTreesResponse); - rpc AllSpaces(AllSpacesRequest) returns(AllSpacesResponse); - rpc LoadSpace(LoadSpaceRequest) returns(LoadSpaceResponse); - rpc Watch(WatchRequest) returns(WatchResponse); - rpc Unwatch(UnwatchRequest) returns(UnwatchResponse); -} - -message CreateSpaceRequest { -} - -message CreateSpaceResponse { - string id = 1; -} - -message DeriveSpaceRequest { -} - -message DeriveSpaceResponse { - string id = 1; -} - -message CreateDocumentRequest { - string spaceId = 1; -} - -message CreateDocumentResponse { - string id = 1; -} - -message DeleteDocumentRequest { - string spaceId = 1; - string documentId = 2; -} - -message DeleteDocumentResponse { -} - -message AddTextRequest { - string spaceId = 1; - string documentId = 2; - string text = 3; - bool isSnapshot = 4; -} - -message AddTextResponse { - string documentId = 1; - string headId = 2; - string rootId = 3; -} - -message DumpTreeRequest { - string spaceId = 1; - string documentId = 2; -} - -message DumpTreeResponse { - string dump = 1; -} - -message AllTreesRequest { - string spaceId = 1; -} - -message Tree { - string id = 1; - repeated string heads = 2; -} - -message AllTreesResponse { - repeated Tree trees = 1; -} - -message AllSpacesRequest { -} - -message AllSpacesResponse { - repeated string spaceIds = 1; -} - -message LoadSpaceRequest { - string spaceId = 1; -} - -message LoadSpaceResponse { -} - -message TreeParamsRequest { - string spaceId = 1; - string documentId = 2; -} - -message TreeParamsResponse { - string rootId = 1; - repeated string headIds = 2; -} - -message WatchRequest { - string spaceId = 1; - string treeId = 2; -} - -message WatchResponse { -} - -message UnwatchRequest { - string spaceId = 1; - string treeId = 2; -} - -message UnwatchResponse { -} \ No newline at end of file diff --git a/client/debug/clientdebugrpc/rpchandler.go b/client/debug/clientdebugrpc/rpchandler.go deleted file mode 100644 index b1ea97cb..00000000 --- a/client/debug/clientdebugrpc/rpchandler.go +++ /dev/null @@ -1,222 +0,0 @@ -package clientdebugrpc - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/debug/clientdebugrpc/clientdebugrpcproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/document" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/storage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" - "github.com/ipfs/go-cid" - "go.uber.org/zap" - "io" - "math/rand" - "os" -) - -type rpcHandler struct { - spaceService clientspace.Service - storageService storage.ClientStorage - docService document.Service - account accountservice.Service - file fileservice.FileService -} - -func (r *rpcHandler) Watch(ctx context.Context, request *clientdebugrpcproto.WatchRequest) (resp *clientdebugrpcproto.WatchResponse, err error) { - space, err := r.spaceService.GetSpace(context.Background(), request.SpaceId) - if err != nil { - return - } - watcher := space.SyncStatus().(syncstatus.StatusWatcher) - watcher.Watch(request.TreeId) - resp = &clientdebugrpcproto.WatchResponse{} - return -} - -func (r *rpcHandler) Unwatch(ctx context.Context, request *clientdebugrpcproto.UnwatchRequest) (resp *clientdebugrpcproto.UnwatchResponse, err error) { - space, err := r.spaceService.GetSpace(context.Background(), request.SpaceId) - if err != nil { - return - } - watcher := space.SyncStatus().(syncstatus.StatusWatcher) - watcher.Unwatch(request.TreeId) - resp = &clientdebugrpcproto.UnwatchResponse{} - return -} - -func (r *rpcHandler) LoadSpace(ctx context.Context, request *clientdebugrpcproto.LoadSpaceRequest) (resp *clientdebugrpcproto.LoadSpaceResponse, err error) { - _, err = r.spaceService.GetSpace(context.Background(), request.SpaceId) - if err != nil { - return - } - resp = &clientdebugrpcproto.LoadSpaceResponse{} - return -} - -func (r *rpcHandler) CreateSpace(ctx context.Context, request *clientdebugrpcproto.CreateSpaceRequest) (resp *clientdebugrpcproto.CreateSpaceResponse, err error) { - key, err := symmetric.NewRandom() - if err != nil { - return - } - sp, err := r.spaceService.CreateSpace(context.Background(), commonspace.SpaceCreatePayload{ - SigningKey: r.account.Account().SignKey, - EncryptionKey: r.account.Account().EncKey, - ReadKey: key.Bytes(), - ReplicationKey: rand.Uint64(), - }) - if err != nil { - return - } - id := sp.Id() - if err != nil { - return - } - resp = &clientdebugrpcproto.CreateSpaceResponse{Id: id} - return -} - -func (r *rpcHandler) DeriveSpace(ctx context.Context, request *clientdebugrpcproto.DeriveSpaceRequest) (resp *clientdebugrpcproto.DeriveSpaceResponse, err error) { - sp, err := r.spaceService.DeriveSpace(context.Background(), commonspace.SpaceDerivePayload{ - SigningKey: r.account.Account().SignKey, - EncryptionKey: r.account.Account().EncKey, - }) - if err != nil { - return - } - id := sp.Id() - if err != nil { - return - } - resp = &clientdebugrpcproto.DeriveSpaceResponse{Id: id} - return -} - -func (r *rpcHandler) CreateDocument(ctx context.Context, request *clientdebugrpcproto.CreateDocumentRequest) (resp *clientdebugrpcproto.CreateDocumentResponse, err error) { - id, err := r.docService.CreateDocument(request.SpaceId) - if err != nil { - return - } - resp = &clientdebugrpcproto.CreateDocumentResponse{Id: id} - return -} - -func (r *rpcHandler) DeleteDocument(ctx context.Context, request *clientdebugrpcproto.DeleteDocumentRequest) (resp *clientdebugrpcproto.DeleteDocumentResponse, err error) { - err = r.docService.DeleteDocument(request.SpaceId, request.DocumentId) - if err != nil { - return - } - resp = &clientdebugrpcproto.DeleteDocumentResponse{} - return -} - -func (r *rpcHandler) AddText(ctx context.Context, request *clientdebugrpcproto.AddTextRequest) (resp *clientdebugrpcproto.AddTextResponse, err error) { - root, head, err := r.docService.AddText(request.SpaceId, request.DocumentId, request.Text, request.IsSnapshot) - if err != nil { - return - } - resp = &clientdebugrpcproto.AddTextResponse{ - DocumentId: request.DocumentId, - HeadId: head, - RootId: root, - } - return -} - -func (r *rpcHandler) DumpTree(ctx context.Context, request *clientdebugrpcproto.DumpTreeRequest) (resp *clientdebugrpcproto.DumpTreeResponse, err error) { - dump, err := r.docService.DumpDocumentTree(request.SpaceId, request.DocumentId) - if err != nil { - return - } - resp = &clientdebugrpcproto.DumpTreeResponse{ - Dump: dump, - } - return -} - -func (r *rpcHandler) AllTrees(ctx context.Context, request *clientdebugrpcproto.AllTreesRequest) (resp *clientdebugrpcproto.AllTreesResponse, err error) { - heads, err := r.docService.AllDocumentHeads(request.SpaceId) - if err != nil { - return - } - var trees []*clientdebugrpcproto.Tree - for _, head := range heads { - trees = append(trees, &clientdebugrpcproto.Tree{ - Id: head.Id, - Heads: head.Heads, - }) - } - resp = &clientdebugrpcproto.AllTreesResponse{Trees: trees} - return -} - -func (r *rpcHandler) AllSpaces(ctx context.Context, request *clientdebugrpcproto.AllSpacesRequest) (resp *clientdebugrpcproto.AllSpacesResponse, err error) { - ids, err := r.storageService.AllSpaceIds() - if err != nil { - return - } - resp = &clientdebugrpcproto.AllSpacesResponse{SpaceIds: ids} - return -} - -func (r *rpcHandler) TreeParams(ctx context.Context, request *clientdebugrpcproto.TreeParamsRequest) (resp *clientdebugrpcproto.TreeParamsResponse, err error) { - root, heads, err := r.docService.TreeParams(request.SpaceId, request.DocumentId) - if err != nil { - return - } - resp = &clientdebugrpcproto.TreeParamsResponse{ - RootId: root, - HeadIds: heads, - } - return -} - -func (r *rpcHandler) PutFile(ctx context.Context, request *clientdebugrpcproto.PutFileRequest) (*clientdebugrpcproto.PutFileResponse, error) { - f, err := os.Open(request.Path) - if err != nil { - return nil, err - } - defer f.Close() - n, err := r.file.AddFile(ctx, f) - if err != nil { - return nil, err - } - return &clientdebugrpcproto.PutFileResponse{ - Hash: n.Cid().String(), - }, nil -} - -func (r *rpcHandler) GetFile(ctx context.Context, request *clientdebugrpcproto.GetFileRequest) (*clientdebugrpcproto.GetFileResponse, error) { - c, err := cid.Parse(request.Hash) - if err != nil { - return nil, err - } - - f, err := os.Create(request.Path) - if err != nil { - return nil, err - } - defer f.Close() - - rd, err := r.file.GetFile(ctx, c) - if err != nil { - return nil, err - } - defer rd.Close() - wr, err := io.Copy(f, rd) - if err != nil && err != io.EOF { - return nil, err - } - log.Info("copied bytes", zap.Int64("size", wr)) - return &clientdebugrpcproto.GetFileResponse{ - Path: request.Path, - }, nil -} - -func (r *rpcHandler) DeleteFile(ctx context.Context, request *clientdebugrpcproto.DeleteFileRequest) (*clientdebugrpcproto.DeleteFileResponse, error) { - //TODO implement me - panic("implement me") -} diff --git a/client/document/service.go b/client/document/service.go deleted file mode 100644 index 600ad111..00000000 --- a/client/document/service.go +++ /dev/null @@ -1,117 +0,0 @@ -package document - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/clientspace/clientcache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/headsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" -) - -type Service interface { - app.Component - CreateDocument(spaceId string) (id string, err error) - DeleteDocument(spaceId, documentId string) (err error) - AllDocumentIds(spaceId string) (ids []string, err error) - AllDocumentHeads(spaceId string) (ids []headsync.TreeHeads, err error) - AddText(spaceId, documentId, text string, isSnapshot bool) (root, head string, err error) - DumpDocumentTree(spaceId, documentId string) (dump string, err error) - TreeParams(spaceId, documentId string) (root string, head []string, err error) -} - -const CName = "client.document" - -var log = logger.NewNamed(CName) - -type service struct { - account accountservice.Service - spaceService clientspace.Service - cache clientcache.TreeCache -} - -func New() Service { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - s.account = a.MustComponent(accountservice.CName).(accountservice.Service) - s.spaceService = a.MustComponent(clientspace.CName).(clientspace.Service) - s.cache = a.MustComponent(treegetter.CName).(clientcache.TreeCache) - return -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) CreateDocument(spaceId string) (id string, err error) { - space, err := s.spaceService.GetSpace(context.Background(), spaceId) - if err != nil { - return - } - payload := objecttree.ObjectTreeCreatePayload{ - SignKey: s.account.Account().SignKey, - SpaceId: space.Id(), - Identity: s.account.Account().Identity, - } - doc, err := s.cache.CreateDocument(context.Background(), space.Id(), payload) - if err != nil { - return - } - id = doc.Id() - return -} - -func (s *service) DeleteDocument(spaceId, documentId string) (err error) { - space, err := s.spaceService.GetSpace(context.Background(), spaceId) - if err != nil { - return - } - return space.DeleteTree(context.Background(), documentId) -} - -func (s *service) AllDocumentIds(spaceId string) (ids []string, err error) { - space, err := s.spaceService.GetSpace(context.Background(), spaceId) - if err != nil { - return - } - ids = space.StoredIds() - return -} - -func (s *service) AllDocumentHeads(spaceId string) (ids []headsync.TreeHeads, err error) { - space, err := s.spaceService.GetSpace(context.Background(), spaceId) - if err != nil { - return - } - ids = space.DebugAllHeads() - return -} - -func (s *service) AddText(spaceId, documentId, text string, isSnapshot bool) (root, head string, err error) { - doc, err := s.cache.GetDocument(context.Background(), spaceId, documentId) - if err != nil { - return - } - return doc.AddText(text, isSnapshot) -} - -func (s *service) DumpDocumentTree(spaceId, documentId string) (dump string, err error) { - doc, err := s.cache.GetDocument(context.Background(), spaceId, documentId) - if err != nil { - return - } - return doc.DebugDump() -} - -func (s *service) TreeParams(spaceId, documentId string) (root string, heads []string, err error) { - tr, err := s.cache.GetTree(context.Background(), spaceId, documentId) - if err != nil { - return - } - return tr.Root().Id, tr.Heads(), nil -} diff --git a/client/document/textchangeproto/protos/textchange.proto b/client/document/textchangeproto/protos/textchange.proto deleted file mode 100644 index 0b583a39..00000000 --- a/client/document/textchangeproto/protos/textchange.proto +++ /dev/null @@ -1,22 +0,0 @@ -syntax = "proto3"; -package textchange; -option go_package = "document/textchangeproto"; - -message TextContent { - oneof value { - TextAppend textAppend = 1; - } -} - -message TextAppend { - string text = 1; -} - -message TextSnapshot { - string text = 1; -} - -message TextData { - repeated TextContent content = 1; - TextSnapshot snapshot = 2; -} diff --git a/client/document/textchangeproto/textchange.pb.go b/client/document/textchangeproto/textchange.pb.go deleted file mode 100644 index 5600d811..00000000 --- a/client/document/textchangeproto/textchange.pb.go +++ /dev/null @@ -1,968 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: document/textchangeproto/protos/textchange.proto - -package textchangeproto - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type TextContent struct { - // Types that are valid to be assigned to Value: - // - // *TextContent_TextAppend - Value isTextContent_Value `protobuf_oneof:"value"` -} - -func (m *TextContent) Reset() { *m = TextContent{} } -func (m *TextContent) String() string { return proto.CompactTextString(m) } -func (*TextContent) ProtoMessage() {} -func (*TextContent) Descriptor() ([]byte, []int) { - return fileDescriptor_44a0c2b66e6c4b48, []int{0} -} -func (m *TextContent) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TextContent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TextContent.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 *TextContent) XXX_Merge(src proto.Message) { - xxx_messageInfo_TextContent.Merge(m, src) -} -func (m *TextContent) XXX_Size() int { - return m.Size() -} -func (m *TextContent) XXX_DiscardUnknown() { - xxx_messageInfo_TextContent.DiscardUnknown(m) -} - -var xxx_messageInfo_TextContent proto.InternalMessageInfo - -type isTextContent_Value interface { - isTextContent_Value() - MarshalTo([]byte) (int, error) - Size() int -} - -type TextContent_TextAppend struct { - TextAppend *TextAppend `protobuf:"bytes,1,opt,name=textAppend,proto3,oneof" json:"textAppend,omitempty"` -} - -func (*TextContent_TextAppend) isTextContent_Value() {} - -func (m *TextContent) GetValue() isTextContent_Value { - if m != nil { - return m.Value - } - return nil -} - -func (m *TextContent) GetTextAppend() *TextAppend { - if x, ok := m.GetValue().(*TextContent_TextAppend); ok { - return x.TextAppend - } - return nil -} - -// XXX_OneofWrappers is for the internal use of the proto package. -func (*TextContent) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*TextContent_TextAppend)(nil), - } -} - -type TextAppend struct { - Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` -} - -func (m *TextAppend) Reset() { *m = TextAppend{} } -func (m *TextAppend) String() string { return proto.CompactTextString(m) } -func (*TextAppend) ProtoMessage() {} -func (*TextAppend) Descriptor() ([]byte, []int) { - return fileDescriptor_44a0c2b66e6c4b48, []int{1} -} -func (m *TextAppend) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TextAppend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TextAppend.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 *TextAppend) XXX_Merge(src proto.Message) { - xxx_messageInfo_TextAppend.Merge(m, src) -} -func (m *TextAppend) XXX_Size() int { - return m.Size() -} -func (m *TextAppend) XXX_DiscardUnknown() { - xxx_messageInfo_TextAppend.DiscardUnknown(m) -} - -var xxx_messageInfo_TextAppend proto.InternalMessageInfo - -func (m *TextAppend) GetText() string { - if m != nil { - return m.Text - } - return "" -} - -type TextSnapshot struct { - Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` -} - -func (m *TextSnapshot) Reset() { *m = TextSnapshot{} } -func (m *TextSnapshot) String() string { return proto.CompactTextString(m) } -func (*TextSnapshot) ProtoMessage() {} -func (*TextSnapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_44a0c2b66e6c4b48, []int{2} -} -func (m *TextSnapshot) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TextSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TextSnapshot.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 *TextSnapshot) XXX_Merge(src proto.Message) { - xxx_messageInfo_TextSnapshot.Merge(m, src) -} -func (m *TextSnapshot) XXX_Size() int { - return m.Size() -} -func (m *TextSnapshot) XXX_DiscardUnknown() { - xxx_messageInfo_TextSnapshot.DiscardUnknown(m) -} - -var xxx_messageInfo_TextSnapshot proto.InternalMessageInfo - -func (m *TextSnapshot) GetText() string { - if m != nil { - return m.Text - } - return "" -} - -type TextData struct { - Content []*TextContent `protobuf:"bytes,1,rep,name=content,proto3" json:"content,omitempty"` - Snapshot *TextSnapshot `protobuf:"bytes,2,opt,name=snapshot,proto3" json:"snapshot,omitempty"` -} - -func (m *TextData) Reset() { *m = TextData{} } -func (m *TextData) String() string { return proto.CompactTextString(m) } -func (*TextData) ProtoMessage() {} -func (*TextData) Descriptor() ([]byte, []int) { - return fileDescriptor_44a0c2b66e6c4b48, []int{3} -} -func (m *TextData) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TextData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TextData.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 *TextData) XXX_Merge(src proto.Message) { - xxx_messageInfo_TextData.Merge(m, src) -} -func (m *TextData) XXX_Size() int { - return m.Size() -} -func (m *TextData) XXX_DiscardUnknown() { - xxx_messageInfo_TextData.DiscardUnknown(m) -} - -var xxx_messageInfo_TextData proto.InternalMessageInfo - -func (m *TextData) GetContent() []*TextContent { - if m != nil { - return m.Content - } - return nil -} - -func (m *TextData) GetSnapshot() *TextSnapshot { - if m != nil { - return m.Snapshot - } - return nil -} - -func init() { - proto.RegisterType((*TextContent)(nil), "textchange.TextContent") - proto.RegisterType((*TextAppend)(nil), "textchange.TextAppend") - proto.RegisterType((*TextSnapshot)(nil), "textchange.TextSnapshot") - proto.RegisterType((*TextData)(nil), "textchange.TextData") -} - -func init() { - proto.RegisterFile("document/textchangeproto/protos/textchange.proto", fileDescriptor_44a0c2b66e6c4b48) -} - -var fileDescriptor_44a0c2b66e6c4b48 = []byte{ - // 239 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0x48, 0xc9, 0x4f, 0x2e, - 0xcd, 0x4d, 0xcd, 0x2b, 0xd1, 0x2f, 0x49, 0xad, 0x28, 0x49, 0xce, 0x48, 0xcc, 0x4b, 0x4f, 0x2d, - 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x07, 0x93, 0xc5, 0x48, 0xc2, 0x7a, 0x60, 0x11, 0x21, 0x2e, 0x84, - 0x88, 0x52, 0x00, 0x17, 0x77, 0x48, 0x6a, 0x45, 0x89, 0x73, 0x7e, 0x5e, 0x49, 0x6a, 0x5e, 0x89, - 0x90, 0x05, 0x17, 0x58, 0xd2, 0xb1, 0xa0, 0x20, 0x35, 0x2f, 0x45, 0x82, 0x51, 0x81, 0x51, 0x83, - 0xdb, 0x48, 0x4c, 0x0f, 0xc9, 0x84, 0x10, 0xb8, 0xac, 0x07, 0x43, 0x10, 0x92, 0x5a, 0x27, 0x76, - 0x2e, 0xd6, 0xb2, 0xc4, 0x9c, 0xd2, 0x54, 0x25, 0x05, 0x2e, 0x2e, 0x84, 0x22, 0x21, 0x21, 0x2e, - 0x16, 0x90, 0x22, 0xb0, 0x51, 0x9c, 0x41, 0x60, 0xb6, 0x92, 0x12, 0x17, 0x0f, 0x48, 0x45, 0x70, - 0x5e, 0x62, 0x41, 0x71, 0x46, 0x7e, 0x09, 0x56, 0x35, 0xc5, 0x5c, 0x1c, 0x20, 0x35, 0x2e, 0x89, - 0x25, 0x89, 0x42, 0x86, 0x5c, 0xec, 0xc9, 0x10, 0xf7, 0x49, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x1b, - 0x89, 0xa3, 0xbb, 0x08, 0xea, 0xfc, 0x20, 0x98, 0x3a, 0x21, 0x13, 0x2e, 0x8e, 0x62, 0xa8, 0xf1, - 0x12, 0x4c, 0x60, 0x5f, 0x48, 0xa0, 0xeb, 0x81, 0x59, 0x1f, 0x04, 0x57, 0xe9, 0x64, 0x74, 0xe2, - 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, - 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, 0x12, 0xb8, 0x02, 0x39, 0x89, 0x0d, 0x4c, - 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x87, 0x3d, 0x8c, 0x61, 0x87, 0x01, 0x00, 0x00, -} - -func (m *TextContent) 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 *TextContent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TextContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Value != nil { - { - size := m.Value.Size() - i -= size - if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } - return len(dAtA) - i, nil -} - -func (m *TextContent_TextAppend) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TextContent_TextAppend) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.TextAppend != nil { - { - size, err := m.TextAppend.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTextchange(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} -func (m *TextAppend) 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 *TextAppend) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TextAppend) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Text) > 0 { - i -= len(m.Text) - copy(dAtA[i:], m.Text) - i = encodeVarintTextchange(dAtA, i, uint64(len(m.Text))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TextSnapshot) 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 *TextSnapshot) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TextSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Text) > 0 { - i -= len(m.Text) - copy(dAtA[i:], m.Text) - i = encodeVarintTextchange(dAtA, i, uint64(len(m.Text))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TextData) 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 *TextData) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TextData) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Snapshot != nil { - { - size, err := m.Snapshot.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTextchange(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Content) > 0 { - for iNdEx := len(m.Content) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Content[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTextchange(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func encodeVarintTextchange(dAtA []byte, offset int, v uint64) int { - offset -= sovTextchange(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *TextContent) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Value != nil { - n += m.Value.Size() - } - return n -} - -func (m *TextContent_TextAppend) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.TextAppend != nil { - l = m.TextAppend.Size() - n += 1 + l + sovTextchange(uint64(l)) - } - return n -} -func (m *TextAppend) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Text) - if l > 0 { - n += 1 + l + sovTextchange(uint64(l)) - } - return n -} - -func (m *TextSnapshot) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Text) - if l > 0 { - n += 1 + l + sovTextchange(uint64(l)) - } - return n -} - -func (m *TextData) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Content) > 0 { - for _, e := range m.Content { - l = e.Size() - n += 1 + l + sovTextchange(uint64(l)) - } - } - if m.Snapshot != nil { - l = m.Snapshot.Size() - n += 1 + l + sovTextchange(uint64(l)) - } - return n -} - -func sovTextchange(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTextchange(x uint64) (n int) { - return sovTextchange(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *TextContent) 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 ErrIntOverflowTextchange - } - 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: TextContent: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TextContent: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TextAppend", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTextchange - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTextchange - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTextchange - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &TextAppend{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Value = &TextContent_TextAppend{v} - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTextchange(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTextchange - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TextAppend) 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 ErrIntOverflowTextchange - } - 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: TextAppend: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TextAppend: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Text", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTextchange - } - 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 ErrInvalidLengthTextchange - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTextchange - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Text = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTextchange(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTextchange - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TextSnapshot) 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 ErrIntOverflowTextchange - } - 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: TextSnapshot: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TextSnapshot: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Text", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTextchange - } - 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 ErrInvalidLengthTextchange - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTextchange - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Text = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTextchange(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTextchange - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TextData) 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 ErrIntOverflowTextchange - } - 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: TextData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TextData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTextchange - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTextchange - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTextchange - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Content = append(m.Content, &TextContent{}) - if err := m.Content[len(m.Content)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTextchange - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTextchange - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTextchange - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Snapshot == nil { - m.Snapshot = &TextSnapshot{} - } - if err := m.Snapshot.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTextchange(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTextchange - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipTextchange(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTextchange - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTextchange - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTextchange - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthTextchange - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupTextchange - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthTextchange - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthTextchange = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowTextchange = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupTextchange = fmt.Errorf("proto: unexpected end of group") -) diff --git a/client/document/textdocument/textdocument.go b/client/document/textdocument/textdocument.go deleted file mode 100644 index 85fd9629..00000000 --- a/client/document/textdocument/textdocument.go +++ /dev/null @@ -1,114 +0,0 @@ -package textdocument - -import ( - "context" - textchange "github.com/anytypeio/go-anytype-infrastructure-experiments/client/document/textchangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/gogo/protobuf/proto" -) - -type TextDocument interface { - objecttree.ObjectTree - InnerTree() objecttree.ObjectTree - AddText(text string, isSnapshot bool) (string, string, error) - Text() (string, error) - TreeDump() string - Close() error -} - -type textDocument struct { - objecttree.ObjectTree - account accountservice.Service -} - -func CreateTextDocument( - ctx context.Context, - space commonspace.Space, - payload treestorage.TreeStorageCreatePayload, - listener updatelistener.UpdateListener, - account accountservice.Service) (doc TextDocument, err error) { - t, err := space.PutTree(ctx, payload, listener) - if err != nil { - return - } - return &textDocument{ - ObjectTree: t, - account: account, - }, nil -} - -func NewTextDocument(ctx context.Context, space commonspace.Space, id string, listener updatelistener.UpdateListener, account accountservice.Service) (doc TextDocument, err error) { - t, err := space.BuildTree(ctx, id, listener) - if err != nil { - return - } - return &textDocument{ - ObjectTree: t, - account: account, - }, nil -} - -func (t *textDocument) InnerTree() objecttree.ObjectTree { - return t.ObjectTree -} - -func (t *textDocument) AddText(text string, isSnapshot bool) (root, head string, err error) { - content := &textchange.TextContent_TextAppend{ - TextAppend: &textchange.TextAppend{Text: text}, - } - change := &textchange.TextData{ - Content: []*textchange.TextContent{ - {content}, - }, - Snapshot: nil, - } - res, err := change.Marshal() - if err != nil { - return - } - t.Lock() - defer t.Unlock() - addRes, err := t.AddContent(context.Background(), objecttree.SignableChangeContent{ - Data: res, - Key: t.account.Account().SignKey, - Identity: t.account.Account().Identity, - IsSnapshot: isSnapshot, - }) - if err != nil { - return - } - root = t.Root().Id - head = addRes.Heads[0] - return -} - -func (t *textDocument) Text() (text string, err error) { - t.RLock() - defer t.RUnlock() - - err = t.IterateRoot( - func(decrypted []byte) (any, error) { - textChange := &textchange.TextData{} - err = proto.Unmarshal(decrypted, textChange) - if err != nil { - return nil, err - } - for _, cnt := range textChange.Content { - if cnt.GetTextAppend() != nil { - text += cnt.GetTextAppend().Text - } - } - return textChange, nil - }, func(change *objecttree.Change) bool { - return true - }) - return -} - -func (t *textDocument) TreeDump() string { - return t.TreeDump() -} diff --git a/client/filestorage/badgerfilestore/badgerfileindex.go b/client/filestorage/badgerfilestore/badgerfileindex.go deleted file mode 100644 index 63d7e1de..00000000 --- a/client/filestorage/badgerfilestore/badgerfileindex.go +++ /dev/null @@ -1,255 +0,0 @@ -package badgerfilestore - -import ( - "bytes" - "errors" - "github.com/dgraph-io/badger/v3" - "github.com/ipfs/go-cid" - "sync" - "time" -) - -const keyIndexPrefix = "files/indexes/" - -type Op string - -const ( - OpAdd Op = "add" - OpDelete Op = "del" - OpLoad Op = "load" -) - -func NewFileBadgerIndex(db *badger.DB) *FileBadgerIndex { - return &FileBadgerIndex{ - db: db, - workCh: make(chan struct{}, 1), - } -} - -var cidsPool = &sync.Pool{ - New: func() any { - return &Cids{} - }, -} - -type FileBadgerIndex struct { - db *badger.DB - workCh chan struct{} -} - -func (i *FileBadgerIndex) Add(cids *Cids) error { - addTimeBin, _ := time.Now().MarshalBinary() - defer i.pingWorkCh() - return i.db.Update(func(txn *badger.Txn) error { - keys := cids.Keys() - for _, k := range keys { - if err := txn.Set(k, addTimeBin); err != nil { - return err - } - } - return nil - }) -} - -func (i *FileBadgerIndex) Done(cids *Cids) (err error) { - if len(cids.SpaceOps) == 0 { - return nil - } - return i.db.Update(func(txn *badger.Txn) error { - keys := cids.Keys() - for _, k := range keys { - if err := txn.Delete(k); err != nil { - return err - } - } - return nil - }) -} -func (i *FileBadgerIndex) List(limit int) (cids *Cids, err error) { - cids = NewCids() - err = i.db.View(func(txn *badger.Txn) error { - it := txn.NewIterator(badger.IteratorOptions{ - PrefetchSize: limit, - PrefetchValues: false, - Prefix: []byte(keyIndexPrefix), - }) - defer it.Close() - var l int - for it.Rewind(); it.Valid(); it.Next() { - e := cids.AddKey(it.Item().Key()) - if e == nil { - l++ - if l == limit { - return nil - } - } - } - return nil - }) - return -} - -func (i *FileBadgerIndex) Len() (l int, err error) { - err = i.db.View(func(txn *badger.Txn) error { - it := txn.NewIterator(badger.IteratorOptions{ - PrefetchSize: 100, - PrefetchValues: false, - Prefix: []byte(keyIndexPrefix), - }) - defer it.Close() - var l int - for it.Rewind(); it.Valid(); it.Next() { - l++ - } - return nil - }) - return -} - -func (i *FileBadgerIndex) pingWorkCh() { - select { - case i.workCh <- struct{}{}: - default: - } -} - -func (i *FileBadgerIndex) HasWorkCh() chan struct{} { - l, err := i.Len() - if err != nil { - return i.workCh - } - if l > 0 { - i.pingWorkCh() - } - return i.workCh -} - -var errInvalidKey = errors.New("invalid key") - -var sep = []byte("/") - -func parseCIDOp(key []byte) (spaceId string, op Op, k cid.Cid, err error) { - if len(key) <= len(keyIndexPrefix) { - err = errInvalidKey - return - } - key = key[len(keyIndexPrefix):] - fi := bytes.Index(key, sep) - if fi < 0 { - err = errInvalidKey - return - } - spaceId = string(key[:fi]) - key = key[fi+1:] - fi = bytes.Index(key, sep) - if fi < 0 { - err = errInvalidKey - return - } - op = Op(key[:fi]) - k, err = cid.Cast(key[fi+1:]) - return -} - -func NewCids() *Cids { - return cidsPool.Get().(*Cids) -} - -type SpaceCidOps struct { - SpaceId string - Add []cid.Cid - Delete []cid.Cid - Load []cid.Cid -} - -type Cids struct { - SpaceOps []SpaceCidOps - keysBuf [][]byte -} - -func (c *Cids) Add(spaceId string, op Op, k cid.Cid) { - var spaceIndex = -1 - for i, so := range c.SpaceOps { - if so.SpaceId == spaceId { - spaceIndex = i - break - } - } - if spaceIndex == -1 { - spaceIndex = len(c.SpaceOps) - if len(c.SpaceOps) < cap(c.SpaceOps) { - c.SpaceOps = c.SpaceOps[0 : len(c.SpaceOps)+1] - c.SpaceOps[spaceIndex].SpaceId = spaceId - } else { - c.SpaceOps = append(c.SpaceOps, SpaceCidOps{SpaceId: spaceId}) - } - } - switch op { - case OpAdd: - c.SpaceOps[spaceIndex].Add = append(c.SpaceOps[spaceIndex].Add, k) - case OpDelete: - c.SpaceOps[spaceIndex].Delete = append(c.SpaceOps[spaceIndex].Delete, k) - case OpLoad: - c.SpaceOps[spaceIndex].Load = append(c.SpaceOps[spaceIndex].Load, k) - } -} - -func (c *Cids) Keys() [][]byte { - addKey := func(spaceId string, k cid.Cid, op Op) { - if len(c.keysBuf) < cap(c.keysBuf) { - c.keysBuf = c.keysBuf[:len(c.keysBuf)+1] - } else { - c.keysBuf = append(c.keysBuf, nil) - } - ki := len(c.keysBuf) - 1 - buf := bytes.NewBuffer(c.keysBuf[ki][:0]) - buf.WriteString(keyIndexPrefix) - buf.WriteString(spaceId) - buf.WriteString("/") - buf.WriteString(string(op)) - buf.WriteString("/") - buf.WriteString(k.KeyString()) - c.keysBuf[ki] = buf.Bytes() - } - for _, sop := range c.SpaceOps { - for _, k := range sop.Add { - addKey(sop.SpaceId, k, OpAdd) - } - for _, k := range sop.Delete { - addKey(sop.SpaceId, k, OpDelete) - } - for _, k := range sop.Load { - addKey(sop.SpaceId, k, OpLoad) - } - } - return c.keysBuf -} - -func (c *Cids) AddKey(key []byte) error { - spaceId, op, k, err := parseCIDOp(key) - if err != nil { - return err - } - c.Add(spaceId, op, k) - return nil -} - -func (c *Cids) Len() (l int) { - for _, so := range c.SpaceOps { - l += len(so.Load) - l += len(so.Delete) - l += len(so.Add) - } - return -} - -func (c *Cids) Release() { - c.keysBuf = c.keysBuf[:0] - for i, sop := range c.SpaceOps { - c.SpaceOps[i].Add = sop.Add[:0] - c.SpaceOps[i].Delete = sop.Delete[:0] - c.SpaceOps[i].Load = sop.Load[:0] - } - c.SpaceOps = c.SpaceOps[:0] - cidsPool.Put(c) -} diff --git a/client/filestorage/badgerfilestore/badgerfileindex_test.go b/client/filestorage/badgerfilestore/badgerfileindex_test.go deleted file mode 100644 index 810a4291..00000000 --- a/client/filestorage/badgerfilestore/badgerfileindex_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package badgerfilestore - -import ( - "bytes" - "fmt" - "github.com/dgraph-io/badger/v3" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "os" - "testing" -) - -func TestFileBadgerIndex_Add(t *testing.T) { - tmpDir, err := os.MkdirTemp("", "badgerfileindextest_*") - require.NoError(t, err) - defer os.RemoveAll(tmpDir) - db, err := badger.Open(badger.DefaultOptions(tmpDir)) - require.NoError(t, err) - defer db.Close() - index := NewFileBadgerIndex(db) - var cids = NewCids() - defer cids.Release() - for _, spaceId := range []string{"space1", "space2"} { - for i := 0; i < 5; i++ { - cids.Add(spaceId, OpAdd, blocks.NewBlock([]byte(fmt.Sprint("add", i))).Cid()) - } - for i := 0; i < 3; i++ { - cids.Add(spaceId, OpDelete, blocks.NewBlock([]byte(fmt.Sprint("del", i))).Cid()) - } - for i := 0; i < 2; i++ { - cids.Add(spaceId, OpLoad, blocks.NewBlock([]byte(fmt.Sprint("load", i))).Cid()) - } - } - require.NoError(t, index.Add(cids)) - - cids, err = index.List(100) - require.NoError(t, err) - assert.Len(t, cids.SpaceOps, 2) - for _, s := range cids.SpaceOps { - assert.Len(t, s.Add, 5) - assert.Len(t, s.Delete, 3) - assert.Len(t, s.Load, 2) - } -} - -func TestCids_Add(t *testing.T) { - for i := 0; i < 3; i++ { - var bs = []blocks.Block{ - blocks.NewBlock([]byte("1")), - blocks.NewBlock([]byte("2")), - blocks.NewBlock([]byte("3")), - blocks.NewBlock([]byte("4")), - blocks.NewBlock([]byte("5")), - } - cids := NewCids() - for _, b := range bs { - cids.Add("1", OpAdd, b.Cid()) - } - keys := cids.Keys() - contains := func(c cid.Cid) bool { - for _, k := range keys { - if bytes.HasSuffix(k, c.Bytes()) { - return true - } - } - return false - } - for _, b := range bs { - assert.True(t, contains(b.Cid())) - } - kcids := NewCids() - for _, k := range keys { - require.NoError(t, kcids.AddKey(k)) - } - - require.Len(t, kcids.SpaceOps, 1) - assert.Equal(t, kcids.SpaceOps[0].Add, cids.SpaceOps[0].Add) - - cids.Release() - kcids.Release() - } -} - -func BenchmarkCids_Add(b *testing.B) { - var bs = []blocks.Block{ - blocks.NewBlock([]byte("1")), - blocks.NewBlock([]byte("2")), - blocks.NewBlock([]byte("3")), - blocks.NewBlock([]byte("4")), - blocks.NewBlock([]byte("5")), - } - b.ReportAllocs() - b.ResetTimer() - for i := 0; i < b.N; i++ { - cids := NewCids() - for _, b := range bs { - cids.Add("1", OpAdd, b.Cid()) - } - cids.Keys() - cids.Release() - } -} diff --git a/client/filestorage/badgerfilestore/badgerfilestore.go b/client/filestorage/badgerfilestore/badgerfilestore.go deleted file mode 100644 index 3a693020..00000000 --- a/client/filestorage/badgerfilestore/badgerfilestore.go +++ /dev/null @@ -1,135 +0,0 @@ -package badgerfilestore - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - "github.com/dgraph-io/badger/v3" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - format "github.com/ipfs/go-ipld-format" -) - -const keyPrefix = "files/blocks/" - -func NewBadgerStorage(db *badger.DB) fileblockstore.BlockStoreLocal { - return &badgerStorage{db: db} -} - -type badgerStorage struct { - db *badger.DB -} - -func (f *badgerStorage) Get(ctx context.Context, k cid.Cid) (b blocks.Block, err error) { - err = f.db.View(func(txn *badger.Txn) (e error) { - it, e := txn.Get(key(k)) - if e != nil { - return e - } - if b, e = blockFromItem(it); e != nil { - return e - } - return - }) - if err == badger.ErrKeyNotFound { - err = &format.ErrNotFound{Cid: k} - } - return -} - -func (f *badgerStorage) GetMany(ctx context.Context, ks []cid.Cid) <-chan blocks.Block { - var res = make(chan blocks.Block) - go func() { - defer close(res) - _ = f.db.View(func(txn *badger.Txn) error { - // TODO: log errors - for _, k := range ks { - it, gerr := txn.Get(key(k)) - if gerr != nil { - return gerr - } - b, berr := blockFromItem(it) - if berr != nil { - return berr - } - res <- b - } - return nil - }) - }() - return res -} - -func (f *badgerStorage) Add(ctx context.Context, bs []blocks.Block) error { - return f.db.Update(func(txn *badger.Txn) error { - for _, b := range bs { - if err := txn.Set(key(b.Cid()), b.RawData()); err != nil { - return err - } - } - return nil - }) -} - -func (f *badgerStorage) Delete(ctx context.Context, c cid.Cid) error { - return f.db.Update(func(txn *badger.Txn) error { - return txn.Delete(key(c)) - }) -} - -func (f *badgerStorage) ExistsCids(ctx context.Context, ks []cid.Cid) (exists []cid.Cid, err error) { - err = f.db.View(func(txn *badger.Txn) error { - for _, k := range ks { - _, e := txn.Get(key(k)) - if e == nil { - exists = append(exists, k) - } else if e != badger.ErrKeyNotFound { - return e - } - } - return nil - }) - return -} - -func (f *badgerStorage) NotExistsBlocks(ctx context.Context, bs []blocks.Block) (notExists []blocks.Block, err error) { - notExists = bs[:0] - err = f.db.View(func(txn *badger.Txn) error { - for _, b := range bs { - _, e := txn.Get(key(b.Cid())) - if e == badger.ErrKeyNotFound { - notExists = append(notExists, b) - } else if e != nil { - return e - } - } - return nil - }) - return -} - -func key(c cid.Cid) []byte { - return []byte(keyPrefix + c.String()) -} - -func parseCID(key []byte) (cid.Cid, error) { - if len(key) <= len(keyPrefix) { - return cid.Cid{}, errInvalidKey - } - return cid.Decode(string(key[len(keyPrefix):])) -} - -func blockFromItem(it *badger.Item) (b blocks.Block, err error) { - c, err := parseCID(it.Key()) - if err != nil { - return nil, err - } - if err = it.Value(func(val []byte) error { - if b, err = blocks.NewBlockWithCid(val, c); err != nil { - return err - } - return nil - }); err != nil { - return - } - return -} diff --git a/client/filestorage/badgerfilestore/badgerfilestore_test.go b/client/filestorage/badgerfilestore/badgerfilestore_test.go deleted file mode 100644 index 4039a748..00000000 --- a/client/filestorage/badgerfilestore/badgerfilestore_test.go +++ /dev/null @@ -1,101 +0,0 @@ -package badgerfilestore - -import ( - "context" - "github.com/dgraph-io/badger/v3" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "os" - "testing" - "time" -) - -var ctx = context.Background() - -func TestBadgerStorage_Add(t *testing.T) { - tmpDir, err := os.MkdirTemp("", "badgerfilestore_*") - require.NoError(t, err) - defer os.RemoveAll(tmpDir) - db, err := badger.Open(badger.DefaultOptions(tmpDir)) - require.NoError(t, err) - defer db.Close() - - s := NewBadgerStorage(db) - bs := []blocks.Block{ - blocks.NewBlock([]byte("1")), - blocks.NewBlock([]byte("2")), - blocks.NewBlock([]byte("3")), - } - assert.NoError(t, s.Add(ctx, bs)) - -} - -func TestBadgerStorage_Get(t *testing.T) { - tmpDir, err := os.MkdirTemp("", "badgerfilestore_*") - require.NoError(t, err) - defer os.RemoveAll(tmpDir) - db, err := badger.Open(badger.DefaultOptions(tmpDir)) - require.NoError(t, err) - defer db.Close() - - s := NewBadgerStorage(db) - bs := []blocks.Block{ - blocks.NewBlock([]byte("1")), - blocks.NewBlock([]byte("2")), - blocks.NewBlock([]byte("3")), - } - require.NoError(t, s.Add(ctx, bs)) - - cids := make([]cid.Cid, 0, len(bs)) - for _, b := range bs { - cids = append(cids, b.Cid()) - } - cids = append(cids, blocks.NewBlock([]byte("4")).Cid()) - - b, err := s.Get(ctx, bs[0].Cid()) - require.NoError(t, err) - assert.Equal(t, bs[0].RawData(), b.RawData()) - - ecids, err := s.ExistsCids(ctx, cids) - require.NoError(t, err) - assert.Len(t, ecids, 3) -} - -func TestBadgerStorage_GetMany(t *testing.T) { - tmpDir, err := os.MkdirTemp("", "badgerfilestore_*") - require.NoError(t, err) - defer os.RemoveAll(tmpDir) - db, err := badger.Open(badger.DefaultOptions(tmpDir)) - require.NoError(t, err) - defer db.Close() - - s := NewBadgerStorage(db) - bs := []blocks.Block{ - blocks.NewBlock([]byte("1")), - blocks.NewBlock([]byte("2")), - blocks.NewBlock([]byte("3")), - } - require.NoError(t, s.Add(ctx, bs)) - - cids := make([]cid.Cid, 0, len(bs)) - for _, b := range bs { - cids = append(cids, b.Cid()) - } - - res := s.GetMany(ctx, cids) - var resB []blocks.Block - for i := 0; i < len(bs); i++ { - select { - case b := <-res: - resB = append(resB, b) - case <-time.After(time.Second): - t.Error("timeout") - return - } - } - assert.Len(t, resB, 3) - _, ok := <-res - assert.False(t, ok) -} diff --git a/client/filestorage/fileservice.go b/client/filestorage/fileservice.go deleted file mode 100644 index ae9f594d..00000000 --- a/client/filestorage/fileservice.go +++ /dev/null @@ -1,62 +0,0 @@ -package filestorage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/badgerprovider" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage/badgerfilestore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage/rpcstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - "io" -) - -const CName = fileblockstore.CName - -var log = logger.NewNamed(CName) - -func New() FileStorage { - return &fileStorage{} -} - -type FileStorage interface { - app.ComponentRunnable - fileblockstore.BlockStore -} - -type fileStorage struct { - fileblockstore.BlockStore - syncer *syncer - syncerCancel context.CancelFunc -} - -func (f *fileStorage) Init(a *app.App) (err error) { - db := a.MustComponent(badgerprovider.CName).(badgerprovider.BadgerProvider).Badger() - bs := badgerfilestore.NewBadgerStorage(db) - ps := &proxyStore{ - cache: bs, - origin: a.MustComponent(rpcstore.CName).(rpcstore.Service).NewStore(), - index: badgerfilestore.NewFileBadgerIndex(db), - } - f.BlockStore = ps - f.syncer = &syncer{ps: ps, done: make(chan struct{})} - return -} - -func (f *fileStorage) Name() (name string) { - return CName -} - -func (f *fileStorage) Run(ctx context.Context) (err error) { - ctx, f.syncerCancel = context.WithCancel(ctx) - go f.syncer.run(ctx) - return -} - -func (f *fileStorage) Close(ctx context.Context) (err error) { - if f.syncerCancel != nil { - f.syncerCancel() - <-f.syncer.done - } - return f.BlockStore.(io.Closer).Close() -} diff --git a/client/filestorage/proxystore.go b/client/filestorage/proxystore.go deleted file mode 100644 index a4b98b20..00000000 --- a/client/filestorage/proxystore.go +++ /dev/null @@ -1,137 +0,0 @@ -package filestorage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage/badgerfilestore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage/rpcstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - format "github.com/ipfs/go-ipld-format" - "go.uber.org/zap" - "io" -) - -type proxyStore struct { - cache fileblockstore.BlockStoreLocal - origin rpcstore.RpcStore - index *badgerfilestore.FileBadgerIndex -} - -func (c *proxyStore) Get(ctx context.Context, k cid.Cid) (b blocks.Block, err error) { - log.Debug("get cid", zap.String("cid", k.String())) - if b, err = c.cache.Get(ctx, k); err != nil { - if format.IsNotFound(err) { - err = nil - log.Debug("proxyStore local cid not found", zap.String("cid", k.String())) - } else { - return - } - } else { - return - } - if b, err = c.origin.Get(ctx, k); err != nil { - log.Debug("proxyStore remote cid error", zap.String("cid", k.String()), zap.Error(err)) - return - } - if addErr := c.cache.Add(ctx, []blocks.Block{b}); addErr != nil { - log.Error("block fetched from origin but got error for add to cache", zap.Error(addErr)) - } - return -} - -func (c *proxyStore) GetMany(ctx context.Context, ks []cid.Cid) <-chan blocks.Block { - cachedCids, localErr := c.cache.ExistsCids(ctx, ks) - var originCids []cid.Cid - if localErr != nil { - log.Error("proxy store hasCIDs error", zap.Error(localErr)) - originCids = ks - } else { - if len(cachedCids) != len(ks) { - set := cid.NewSet() - for _, cCid := range cachedCids { - set.Add(cCid) - } - originCids = ks[:0] - for _, k := range ks { - if !set.Has(k) { - originCids = append(originCids, k) - } - } - } - } - log.Debug("get many cids", zap.Int("cached", len(cachedCids)), zap.Int("origin", len(originCids))) - if len(originCids) == 0 { - return c.cache.GetMany(ctx, cachedCids) - } - var results = make(chan blocks.Block) - - go func() { - defer close(results) - localResults := c.cache.GetMany(ctx, cachedCids) - originResults := c.origin.GetMany(ctx, originCids) - oOk, cOk := true, true - for { - var cb, ob blocks.Block - select { - case cb, cOk = <-localResults: - if cOk { - results <- cb - } - case ob, oOk = <-originResults: - if oOk { - if addErr := c.cache.Add(ctx, []blocks.Block{ob}); addErr != nil { - log.Error("add block to cache error", zap.Error(addErr)) - } - results <- ob - } - case <-ctx.Done(): - return - } - if !oOk && !cOk { - return - } - } - }() - return results -} - -func (c *proxyStore) Add(ctx context.Context, bs []blocks.Block) (err error) { - if bs, err = c.cache.NotExistsBlocks(ctx, bs); err != nil { - return - } - if len(bs) == 0 { - return nil - } - if err = c.cache.Add(ctx, bs); err != nil { - return - } - indexCids := badgerfilestore.NewCids() - defer indexCids.Release() - for _, b := range bs { - indexCids.Add(fileblockstore.CtxGetSpaceId(ctx), badgerfilestore.OpAdd, b.Cid()) - } - return c.index.Add(indexCids) -} - -func (c *proxyStore) Delete(ctx context.Context, k cid.Cid) error { - if err := c.cache.Delete(ctx, k); err != nil { - return err - } - indexCids := badgerfilestore.NewCids() - defer indexCids.Release() - indexCids.Add(fileblockstore.CtxGetSpaceId(ctx), badgerfilestore.OpDelete, k) - return c.index.Add(indexCids) -} - -func (c *proxyStore) Close() (err error) { - if closer, ok := c.cache.(io.Closer); ok { - if localErr := closer.Close(); localErr != nil { - log.Error("error while closing cache store", zap.Error(localErr)) - } - } - if closer, ok := c.origin.(io.Closer); ok { - return closer.Close() - } - return nil -} diff --git a/client/filestorage/proxystore_test.go b/client/filestorage/proxystore_test.go deleted file mode 100644 index 3aef49fb..00000000 --- a/client/filestorage/proxystore_test.go +++ /dev/null @@ -1,280 +0,0 @@ -package filestorage - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage/badgerfilestore" - "github.com/dgraph-io/badger/v3" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - format "github.com/ipfs/go-ipld-format" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "os" - "sync" - "testing" - "time" -) - -var ctx = context.Background() - -func TestCacheStore_Add(t *testing.T) { - t.Run("success", func(t *testing.T) { - cs := newPSFixture(t) - defer cs.Finish(t) - testBlocks := newTestBocks("1", "2", "3") - require.NoError(t, cs.Add(ctx, testBlocks)) - for _, b := range testBlocks { - gb, err := cs.cache.Get(ctx, b.Cid()) - assert.NoError(t, err) - assert.NotNil(t, gb) - } - cids, err := cs.index.List(100) - require.NoError(t, err) - require.Len(t, cids.SpaceOps, 1) - assert.Len(t, cids.SpaceOps[0].Add, len(testBlocks)) - }) -} - -func TestCacheStore_Get(t *testing.T) { - t.Run("exists local", func(t *testing.T) { - testBlocks := newTestBocks("1", "2", "3") - cs := newPSFixture(t) - defer cs.Finish(t) - require.NoError(t, cs.cache.Add(ctx, testBlocks)) - require.NoError(t, cs.origin.Add(ctx, testBlocks)) - for _, b := range testBlocks { - gb, err := cs.Get(ctx, b.Cid()) - assert.NoError(t, err) - assert.NotNil(t, gb) - } - }) - t.Run("exists remote", func(t *testing.T) { - testBlocks := newTestBocks("1", "2", "3") - cs := newPSFixture(t) - defer cs.Finish(t) - require.NoError(t, cs.cache.Add(ctx, testBlocks[:1])) - require.NoError(t, cs.origin.Add(ctx, testBlocks)) - for _, b := range testBlocks { - gb, err := cs.Get(ctx, b.Cid()) - assert.NoError(t, err) - assert.NotNil(t, gb) - } - for _, b := range testBlocks { - lb, err := cs.cache.Get(ctx, b.Cid()) - assert.NoError(t, err) - assert.NotNil(t, lb) - } - }) -} - -func TestCacheStore_GetMany(t *testing.T) { - t.Run("all local", func(t *testing.T) { - testBlocks := newTestBocks("1", "2", "3") - cs := newPSFixture(t) - defer cs.Finish(t) - require.NoError(t, cs.cache.Add(ctx, testBlocks)) - require.NoError(t, cs.origin.Add(ctx, testBlocks)) - - var cids, resCids []cid.Cid - for _, b := range testBlocks { - cids = append(cids, b.Cid()) - } - ch := cs.GetMany(ctx, cids) - func() { - for { - select { - case b, ok := <-ch: - if !ok { - return - } else { - resCids = append(resCids, b.Cid()) - } - case <-time.After(time.Second): - assert.NoError(t, fmt.Errorf("timeout")) - return - } - } - }() - assert.ElementsMatch(t, cids, resCids) - }) - t.Run("partial local", func(t *testing.T) { - testBlocks := newTestBocks("1", "2", "3") - cs := newPSFixture(t) - defer cs.Finish(t) - require.NoError(t, cs.cache.Add(ctx, testBlocks[:1])) - require.NoError(t, cs.origin.Add(ctx, testBlocks)) - - var cids, resCids []cid.Cid - for _, b := range testBlocks { - cids = append(cids, b.Cid()) - } - ch := cs.GetMany(ctx, cids) - func() { - for { - select { - case b, ok := <-ch: - if !ok { - return - } else { - resCids = append(resCids, b.Cid()) - } - case <-time.After(time.Second): - assert.NoError(t, fmt.Errorf("timeout")) - return - } - } - }() - require.Equal(t, len(cids), len(resCids)) - for _, b := range testBlocks { - gb, err := cs.cache.Get(ctx, b.Cid()) - assert.NoError(t, err) - assert.NotNil(t, gb) - } - }) -} - -func TestCacheStore_Delete(t *testing.T) { - testBlocks := newTestBocks("1", "2", "3") - cs := newPSFixture(t) - defer cs.Finish(t) - require.NoError(t, cs.cache.Add(ctx, testBlocks)) - for _, b := range testBlocks { - require.NoError(t, cs.Delete(ctx, b.Cid())) - gb, err := cs.cache.Get(ctx, b.Cid()) - assert.Nil(t, gb) - assert.True(t, format.IsNotFound(err)) - } -} - -func newTestStore(bs []blocks.Block) *testStore { - ts := &testStore{ - store: make(map[string]blocks.Block), - } - ts.Add(context.Background(), bs) - return ts -} - -type testStore struct { - store map[string]blocks.Block - mu sync.Mutex -} - -func (t *testStore) NotExistsBlocks(ctx context.Context, bs []blocks.Block) (notExists []blocks.Block, err error) { - t.mu.Lock() - defer t.mu.Unlock() - notExists = bs[:0] - for _, b := range bs { - if _, ok := t.store[b.Cid().String()]; !ok { - notExists = append(notExists, b) - } - } - return -} - -func (t *testStore) Get(ctx context.Context, k cid.Cid) (blocks.Block, error) { - t.mu.Lock() - defer t.mu.Unlock() - if b, ok := t.store[k.String()]; ok { - return b, nil - } - return nil, &format.ErrNotFound{Cid: k} -} - -func (t *testStore) GetMany(ctx context.Context, ks []cid.Cid) <-chan blocks.Block { - var result = make(chan blocks.Block) - go func() { - defer close(result) - for _, k := range ks { - select { - case <-ctx.Done(): - return - default: - } - if b, err := t.Get(ctx, k); err == nil { - result <- b - } - } - }() - return result -} - -func (t *testStore) ExistsCids(ctx context.Context, ks []cid.Cid) (exists []cid.Cid, err error) { - t.mu.Lock() - defer t.mu.Unlock() - for _, k := range ks { - if _, ok := t.store[k.String()]; ok { - exists = append(exists, k) - } - } - return -} - -func (t *testStore) Add(ctx context.Context, bs []blocks.Block) error { - t.mu.Lock() - defer t.mu.Unlock() - for _, b := range bs { - t.store[b.Cid().String()] = b - } - return nil -} - -func (t *testStore) AddAsync(ctx context.Context, bs []blocks.Block) (successCh chan cid.Cid) { - successCh = make(chan cid.Cid, len(bs)) - go func() { - defer close(successCh) - for _, b := range bs { - if err := t.Add(ctx, []blocks.Block{b}); err == nil { - successCh <- b.Cid() - } - } - }() - return successCh -} - -func (t *testStore) Delete(ctx context.Context, c cid.Cid) error { - t.mu.Lock() - defer t.mu.Unlock() - if _, ok := t.store[c.String()]; ok { - delete(t.store, c.String()) - return nil - } - return &format.ErrNotFound{Cid: c} -} - -func (t *testStore) Close() (err error) { - return nil -} - -type psFixture struct { - *proxyStore - tmpDir string - db *badger.DB -} - -func newPSFixture(t *testing.T) *psFixture { - var err error - fx := &psFixture{} - fx.tmpDir, err = os.MkdirTemp("", "proxyStore_*") - require.NoError(t, err) - fx.db, err = badger.Open(badger.DefaultOptions(fx.tmpDir).WithLoggingLevel(badger.ERROR)) - require.NoError(t, err) - fx.proxyStore = &proxyStore{ - cache: newTestStore(nil), - origin: newTestStore(nil), - index: badgerfilestore.NewFileBadgerIndex(fx.db), - } - return fx -} - -func (fx *psFixture) Finish(t *testing.T) { - assert.NoError(t, fx.db.Close()) - _ = os.RemoveAll(fx.tmpDir) -} - -func newTestBocks(ids ...string) (bs []blocks.Block) { - for _, id := range ids { - bs = append(bs, blocks.NewBlock([]byte(id))) - } - return -} diff --git a/client/filestorage/rpcstore/client.go b/client/filestorage/rpcstore/client.go deleted file mode 100644 index 097ef0b5..00000000 --- a/client/filestorage/rpcstore/client.go +++ /dev/null @@ -1,301 +0,0 @@ -package rpcstore - -import ( - "context" - "errors" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto" - _ "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto/fileprotoerr" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpcerr" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" - "github.com/cheggaaa/mb/v3" - "github.com/ipfs/go-cid" - "go.uber.org/zap" - "sync" - "time" -) - -var ( - ErrClientClosed = errors.New("file client closed") -) - -const defaultMaxInFlightCIDs = 10 - -func newClient(ctx context.Context, s *service, peerId string, tq *mb.MB[*task]) (*client, error) { - c := &client{ - peerId: peerId, - taskQueue: tq, - waitCIDs: map[string]*task{}, - waitCIDCap: make(chan struct{}, defaultMaxInFlightCIDs), - opLoopDone: make(chan struct{}), - stat: newStat(), - s: s, - } - if err := c.checkConnectivity(ctx); err != nil { - return nil, err - } - var runCtx context.Context - runCtx, c.opLoopCtxCancel = context.WithCancel(context.Background()) - go c.opLoop(runCtx) - return c, nil -} - -// client gets and executes tasks from taskQueue -// it has an internal queue for a waiting CIDs -type client struct { - peerId string - spaceIds []string - taskQueue *mb.MB[*task] - blocksStream fileproto.DRPCFile_GetBlocksClient - blocksStreamMu sync.Mutex - waitCIDs map[string]*task - waitCIDCap chan struct{} - waitCIDMu sync.Mutex - opLoopDone chan struct{} - opLoopCtxCancel context.CancelFunc - stat *stat - s *service -} - -// opLoop gets tasks from taskQueue -func (c *client) opLoop(ctx context.Context) { - defer close(c.opLoopDone) - c.waitCIDMu.Lock() - spaceIds := c.spaceIds - c.waitCIDMu.Unlock() - cond := c.taskQueue.NewCond().WithFilter(func(t *task) bool { - if slice.FindPos(t.denyPeerIds, c.peerId) != -1 { - return false - } - if len(spaceIds) > 0 && slice.FindPos(spaceIds, t.spaceId) == -1 { - return false - } - return true - }) - for { - t, err := cond.WithPriority(c.stat.Score()).WaitOne(ctx) - if err != nil { - return - } - t.peerId = c.peerId - switch t.op { - case taskOpGet: - err = c.get(ctx, t) - case taskOpDelete: - err = c.delete(ctx, t) - case taskOpPut: - err = c.put(ctx, t) - default: - err = fmt.Errorf("unexpected task op type: %v", t.op) - } - if err != nil { - t.err = err - select { - case t.ready <- t: - case <-t.ctx.Done(): - case <-ctx.Done(): - } - } - } -} - -func (c *client) delete(ctx context.Context, t *task) (err error) { - p, err := c.s.pool.Get(ctx, c.peerId) - if err != nil { - return - } - if _, err = fileproto.NewDRPCFileClient(p).DeleteBlocks(ctx, &fileproto.DeleteBlocksRequest{ - SpaceId: t.spaceId, - Cid: [][]byte{t.cid.Bytes()}, - }); err != nil { - return rpcerr.Unwrap(err) - } - select { - case t.ready <- t: - case <-t.ctx.Done(): - return t.ctx.Err() - case <-ctx.Done(): - return ctx.Err() - } - c.stat.UpdateLastUsage() - return -} - -func (c *client) put(ctx context.Context, t *task) (err error) { - p, err := c.s.pool.Get(ctx, c.peerId) - if err != nil { - return - } - st := time.Now() - if _, err = fileproto.NewDRPCFileClient(p).PushBlock(ctx, &fileproto.PushBlockRequest{ - SpaceId: t.spaceId, - Cid: t.cid.Bytes(), - Data: t.data, - }); err != nil { - return rpcerr.Unwrap(err) - } - log.Debug("put cid", zap.String("cid", t.cid.String())) - select { - case t.ready <- t: - case <-t.ctx.Done(): - return t.ctx.Err() - case <-ctx.Done(): - return ctx.Err() - } - c.stat.Add(st, len(t.data)) - return -} - -// get sends the get request to the stream and adds task to waiting list -func (c *client) get(ctx context.Context, t *task) (err error) { - select { - case <-ctx.Done(): - return ctx.Err() - case c.waitCIDCap <- struct{}{}: - } - c.waitCIDMu.Lock() - t.startTime = time.Now() - c.waitCIDs[t.cid.String()] = t - c.waitCIDMu.Unlock() - - defer func() { - if err != nil { - c.waitCIDMu.Lock() - delete(c.waitCIDs, t.cid.String()) - c.waitCIDMu.Unlock() - <-c.waitCIDCap - } - }() - - bs, err := c.getStream(ctx) - if err != nil { - return - } - if err = bs.Send(&fileproto.GetBlockRequest{ - SpaceId: t.spaceId, - Cid: t.cid.Bytes(), - }); err != nil { - return rpcerr.Unwrap(err) - } - return -} - -func (c *client) readStream(stream fileproto.DRPCFile_GetBlocksClient) { - var err error - defer func() { - log.Info("readStream closed", zap.String("peerId", c.peerId), zap.Error(err)) - c.waitCIDMu.Lock() - c.blocksStream = nil - c.waitCIDMu.Unlock() - }() - for { - var resp *fileproto.GetBlockResponse - resp, err = stream.Recv() - if err != nil { - return - } - var t *task - t, err = c.receiveCID(resp) - if err != nil { - log.Warn("cid receive error", zap.Error(err)) - } else { - select { - case t.ready <- t: - case <-t.ctx.Done(): - } - - } - } -} - -// receiveCID handles stream response, finds cid in waiting list and sets data to task -func (c *client) receiveCID(resp *fileproto.GetBlockResponse) (t *task, err error) { - _, rCid, err := cid.CidFromBytes(resp.Cid) - if err != nil { - return nil, fmt.Errorf("got invalid CID from node: %v", err) - } - c.waitCIDMu.Lock() - defer c.waitCIDMu.Unlock() - t, ok := c.waitCIDs[rCid.String()] - if !ok { - return nil, fmt.Errorf("got unexpected CID from node: %v", rCid.String()) - } - switch resp.Code { - case fileproto.CIDError_CIDErrorOk: - t.data = resp.Data - t.err = nil - case fileproto.CIDError_CIDErrorNotFound: - t.err = fileblockstore.ErrCIDNotFound - default: - t.err = fileblockstore.ErrCIDUnexpected - } - delete(c.waitCIDs, rCid.String()) - if t.err == nil { - c.stat.Add(t.startTime, len(t.data)) - } - <-c.waitCIDCap - return -} - -func (c *client) getStream(ctx context.Context) (fileproto.DRPCFile_GetBlocksClient, error) { - c.blocksStreamMu.Lock() - defer c.blocksStreamMu.Unlock() - if c.blocksStream != nil { - return c.blocksStream, nil - } - peer, err := c.s.pool.Dial(ctx, c.peerId) - if err != nil { - return nil, err - } - if c.blocksStream, err = fileproto.NewDRPCFileClient(peer).GetBlocks(context.Background()); err != nil { - return nil, err - } - go c.readStream(c.blocksStream) - return c.blocksStream, nil -} - -func (c *client) checkConnectivity(ctx context.Context) (err error) { - p, err := c.s.pool.Get(ctx, c.peerId) - if err != nil { - return - } - resp, err := fileproto.NewDRPCFileClient(p).Check(ctx, &fileproto.CheckRequest{}) - if err != nil { - return - } - c.waitCIDMu.Lock() - defer c.waitCIDMu.Unlock() - c.spaceIds = resp.SpaceIds - return -} - -func (c *client) LastUsage() time.Time { - return c.stat.LastUsage() -} - -func (c *client) Close() error { - // stop receiving tasks - c.opLoopCtxCancel() - <-c.opLoopDone - c.blocksStreamMu.Lock() - // close stream - if c.blocksStream != nil { - _ = c.blocksStream.CloseSend() - c.blocksStream = nil - } - c.blocksStreamMu.Unlock() - // cleanup waiting list - c.waitCIDMu.Lock() - for id, t := range c.waitCIDs { - t.err = ErrClientClosed - select { - case t.ready <- t: - case <-t.ctx.Done(): - } - - delete(c.waitCIDs, id) - } - c.waitCIDMu.Unlock() - return nil -} diff --git a/client/filestorage/rpcstore/clientmgr.go b/client/filestorage/rpcstore/clientmgr.go deleted file mode 100644 index 8e6157a3..00000000 --- a/client/filestorage/rpcstore/clientmgr.go +++ /dev/null @@ -1,124 +0,0 @@ -package rpcstore - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/cheggaaa/mb/v3" - "go.uber.org/zap" - "math/rand" - "sync" - "time" -) - -const ( - maxConnections = 10 - maxTasks = 100 -) - -var ( - clientCreateTimeout = time.Second * 10 -) - -func newClientManager(s *service) *clientManager { - cm := &clientManager{ - mb: mb.New[*task](maxTasks), - ocache: ocache.New( - func(ctx context.Context, id string) (value ocache.Object, err error) { - return nil, fmt.Errorf("load func shouldn't be used") - }, - ocache.WithTTL(time.Minute*5), - ocache.WithRefCounter(false), - ocache.WithLogger(log.Sugar()), - ocache.WithGCPeriod(0), - ), - checkPeersCh: make(chan struct{}), - s: s, - } - cm.ctx, cm.ctxCancel = context.WithCancel(context.Background()) - go cm.checkPeerLoop() - return cm -} - -// clientManager manages clients, removes unused ones, and adds new ones if necessary -type clientManager struct { - mb *mb.MB[*task] - ctx context.Context - ctxCancel context.CancelFunc - ocache ocache.OCache - checkPeersCh chan struct{} - - s *service - mu sync.RWMutex -} - -func (m *clientManager) Add(ctx context.Context, ts ...*task) (err error) { - defer func() { - m.mu.Lock() - if m.ocache.Len() == 0 { - select { - case m.checkPeersCh <- struct{}{}: - default: - } - } - m.mu.Unlock() - }() - return m.mb.Add(ctx, ts...) -} - -func (m *clientManager) checkPeerLoop() { - m.checkPeers() - ticker := time.NewTicker(time.Minute) - defer ticker.Stop() - for { - select { - case <-m.ctx.Done(): - return - case <-m.checkPeersCh: - m.checkPeers() - case <-ticker.C: - m.checkPeers() - } - } -} - -func (m *clientManager) checkPeers() { - // start GC to remove unused clients - m.ocache.GC() - if m.ocache.Len() >= maxConnections { - // reached connection limit, can't add new peers - return - } - if m.mb.Len() == 0 { - // has empty queue, no need new peers - return - } - - // try to add new peers - peerIds := m.s.filePeers() - rand.Shuffle(len(peerIds), func(i, j int) { - peerIds[i], peerIds[j] = peerIds[j], peerIds[i] - }) - for _, peerId := range peerIds { - if _, cerr := m.ocache.Pick(m.ctx, peerId); cerr == ocache.ErrNotExists { - ctx, cancel := context.WithTimeout(m.ctx, clientCreateTimeout) - cl, err := newClient(ctx, m.s, peerId, m.mb) - if err != nil { - log.Info("can't create client", zap.Error(err)) - cancel() - continue - } - _ = m.ocache.Add(peerId, cl) - cancel() - return - } - } -} - -func (m *clientManager) Close() (err error) { - m.ctxCancel() - if err = m.mb.Close(); err != nil { - log.Error("mb close error", zap.Error(err)) - } - return m.ocache.Close() -} diff --git a/client/filestorage/rpcstore/service.go b/client/filestorage/rpcstore/service.go deleted file mode 100644 index f1be16d2..00000000 --- a/client/filestorage/rpcstore/service.go +++ /dev/null @@ -1,48 +0,0 @@ -package rpcstore - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" -) - -const CName = "common.commonfile.rpcstore" - -var log = logger.NewNamed(CName) - -func New() Service { - return &service{} -} - -type Service interface { - NewStore() RpcStore - app.Component -} - -type service struct { - pool pool.Pool - nodeconf nodeconf.Service -} - -func (s *service) Init(a *app.App) (err error) { - s.pool = a.MustComponent(pool.CName).(pool.Pool) - s.nodeconf = a.MustComponent(nodeconf.CName).(nodeconf.Service) - return -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) NewStore() RpcStore { - cm := newClientManager(s) - return &store{ - s: s, - cm: cm, - } -} - -func (s *service) filePeers() []string { - return s.nodeconf.GetLast().FilePeers() -} diff --git a/client/filestorage/rpcstore/stat.go b/client/filestorage/rpcstore/stat.go deleted file mode 100644 index b72cf840..00000000 --- a/client/filestorage/rpcstore/stat.go +++ /dev/null @@ -1,55 +0,0 @@ -package rpcstore - -import ( - "github.com/VividCortex/ewma" - "sync" - "time" -) - -// defaultSpeedScore - initial value in Kb/s, it should be relatively high to test fresh client soon -const defaultSpeedScore = 10 * 1024 - -func newStat() *stat { - s := &stat{ - ewma: &ewma.SimpleEWMA{}, - lastUsage: time.Now(), - } - s.ewma.Set(float64(defaultSpeedScore)) - return s -} - -// stat calculates EWMA download/upload speed -type stat struct { - // TODO: rewrite to atomics - ewma *ewma.SimpleEWMA - mu sync.Mutex - lastUsage time.Time -} - -// Score returns average download/upload speed in Kb/s -func (s *stat) Score() float64 { - s.mu.Lock() - defer s.mu.Unlock() - return s.ewma.Value() -} - -// Add adds new sample to the stat -func (s *stat) Add(startTime time.Time, byteLen int) { - s.mu.Lock() - defer s.mu.Unlock() - dur := time.Since(startTime).Seconds() - s.ewma.Add(float64(byteLen) / 1024 / dur) - s.lastUsage = time.Now() -} - -func (s *stat) LastUsage() time.Time { - s.mu.Lock() - defer s.mu.Unlock() - return s.lastUsage -} - -func (s *stat) UpdateLastUsage() { - s.mu.Lock() - defer s.mu.Unlock() - s.lastUsage = time.Now() -} diff --git a/client/filestorage/rpcstore/store.go b/client/filestorage/rpcstore/store.go deleted file mode 100644 index 697545cd..00000000 --- a/client/filestorage/rpcstore/store.go +++ /dev/null @@ -1,151 +0,0 @@ -package rpcstore - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - "go.uber.org/multierr" - "go.uber.org/zap" - "sync" -) - -var closedBlockChan chan blocks.Block - -func init() { - closedBlockChan = make(chan blocks.Block) - close(closedBlockChan) -} - -type RpcStore interface { - fileblockstore.BlockStore - AddAsync(ctx context.Context, bs []blocks.Block) (successCh chan cid.Cid) -} - -type store struct { - s *service - cm *clientManager - mu sync.RWMutex -} - -func (s *store) Get(ctx context.Context, k cid.Cid) (b blocks.Block, err error) { - t := newTask(ctx, taskOpGet, k, nil) - if err = s.cm.Add(ctx, t); err != nil { - return - } - select { - case <-t.ready: - case <-ctx.Done(): - return nil, ctx.Err() - } - - if err = t.Validate(); err != nil { - return - } - return t.Block() -} - -func (s *store) GetMany(ctx context.Context, ks []cid.Cid) <-chan blocks.Block { - var readyCh = make(chan *task) - var tasks = make([]*task, len(ks)) - for i, k := range ks { - tasks[i] = newTask(ctx, taskOpGet, k, readyCh) - } - if err := s.cm.Add(ctx, tasks...); err != nil { - log.Error("getMany: can't add tasks", zap.Error(err)) - return closedBlockChan - } - var result = make(chan blocks.Block) - go func() { - defer close(result) - for i := 0; i < len(tasks); i++ { - var t *task - select { - case <-ctx.Done(): - return - case t = <-readyCh: - } - if err := t.Validate(); err != nil { - // TODO: fallback - log.Warn("received not valid block", zap.Error(err)) - } - b, _ := t.Block() - result <- b - } - }() - return result -} - -func (s *store) Add(ctx context.Context, bs []blocks.Block) error { - var readyCh = make(chan *task) - var tasks = make([]*task, len(bs)) - for i, b := range bs { - tasks[i] = newTask(ctx, taskOpPut, b.Cid(), readyCh) - tasks[i].data = b.RawData() - } - if err := s.cm.Add(ctx, tasks...); err != nil { - return err - } - var errs []error - for i := 0; i < len(tasks); i++ { - select { - case t := <-readyCh: - if t.err != nil { - errs = append(errs, t.err) - } - case <-ctx.Done(): - return ctx.Err() - } - } - if len(errs) > 0 { - return multierr.Combine(errs...) - } - return nil -} - -func (s *store) AddAsync(ctx context.Context, bs []blocks.Block) (successCh chan cid.Cid) { - successCh = make(chan cid.Cid, len(bs)) - go func() { - defer close(successCh) - var readyCh = make(chan *task) - var tasks = make([]*task, len(bs)) - for i, b := range bs { - tasks[i] = newTask(ctx, taskOpPut, b.Cid(), readyCh) - tasks[i].data = b.RawData() - } - if err := s.cm.Add(ctx, tasks...); err != nil { - log.Info("addAsync: can't add tasks", zap.Error(err)) - return - } - for i := 0; i < len(tasks); i++ { - select { - case t := <-readyCh: - if t.err == nil { - successCh <- t.cid - } else { - log.Info("addAsync: task error", zap.Error(t.err)) - } - case <-ctx.Done(): - return - } - } - }() - return -} - -func (s *store) Delete(ctx context.Context, c cid.Cid) error { - t := newTask(ctx, taskOpDelete, c, nil) - if err := s.cm.Add(ctx, t); err != nil { - return err - } - select { - case t := <-t.ready: - return t.err - case <-ctx.Done(): - return ctx.Err() - } -} - -func (s *store) Close() (err error) { - return s.cm.Close() -} diff --git a/client/filestorage/rpcstore/store_test.go b/client/filestorage/rpcstore/store_test.go deleted file mode 100644 index 1f76fcb9..00000000 --- a/client/filestorage/rpcstore/store_test.go +++ /dev/null @@ -1,198 +0,0 @@ -package rpcstore - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice/mock_accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpctest" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/golang/mock/gomock" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "sort" - "sync" - "testing" -) - -var ctx = context.Background() - -func TestStore_Put(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - - bs := []blocks.Block{ - blocks.NewBlock([]byte{'1'}), - blocks.NewBlock([]byte{'2'}), - blocks.NewBlock([]byte{'3'}), - } - err := fx.Add(ctx, bs) - assert.NoError(t, err) - for _, b := range bs { - assert.NotNil(t, fx.serv.data[string(b.Cid().Bytes())]) - } - -} - -func TestStore_Delete(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - bs := []blocks.Block{ - blocks.NewBlock([]byte{'1'}), - } - err := fx.Add(ctx, bs) - require.NoError(t, err) - assert.Len(t, fx.serv.data, 1) - require.NoError(t, fx.Delete(ctx, bs[0].Cid())) - assert.Len(t, fx.serv.data, 0) -} - -func TestStore_Get(t *testing.T) { - t.Run("success", func(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - bs := []blocks.Block{ - blocks.NewBlock([]byte{'1'}), - } - err := fx.Add(ctx, bs) - require.NoError(t, err) - b, err := fx.Get(ctx, bs[0].Cid()) - require.NoError(t, err) - assert.Equal(t, []byte{'1'}, b.RawData()) - }) - t.Run("not found", func(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - bs := []blocks.Block{ - blocks.NewBlock([]byte{'1'}), - } - b, err := fx.Get(ctx, bs[0].Cid()) - assert.Nil(t, b) - assert.ErrorIs(t, err, fileblockstore.ErrCIDNotFound) - }) -} - -func TestStore_GetMany(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - - bs := []blocks.Block{ - blocks.NewBlock([]byte{'1'}), - blocks.NewBlock([]byte{'2'}), - blocks.NewBlock([]byte{'3'}), - } - err := fx.Add(ctx, bs) - assert.NoError(t, err) - - res := fx.GetMany(ctx, []cid.Cid{ - bs[0].Cid(), - bs[1].Cid(), - bs[2].Cid(), - }) - var resBlocks []blocks.Block - for b := range res { - resBlocks = append(resBlocks, b) - } - require.Len(t, resBlocks, 3) - sort.Slice(resBlocks, func(i, j int) bool { - return string(resBlocks[i].RawData()) < string(resBlocks[j].RawData()) - }) - assert.Equal(t, bs, resBlocks) -} - -func newFixture(t *testing.T) *fixture { - fx := &fixture{ - a: new(app.App), - s: New().(*service), - serv: &testServer{ - data: make(map[string][]byte), - }, - } - - conf := &config.Config{} - - for i := 0; i < 11; i++ { - conf.Nodes = append(conf.Nodes, nodeconf.NodeConfig{ - PeerId: fmt.Sprint(i), - Types: []nodeconf.NodeType{nodeconf.NodeTypeFile}, - }) - } - rserv := rpctest.NewTestServer() - require.NoError(t, fileproto.DRPCRegisterFile(rserv.Mux, fx.serv)) - fx.ctrl = gomock.NewController(t) - fx.a.Register(fx.s). - Register(mock_accountservice.NewAccountServiceWithAccount(fx.ctrl, &accountdata.AccountData{})). - Register(rpctest.NewTestPool().WithServer(rserv)). - Register(nodeconf.New()). - Register(conf) - require.NoError(t, fx.a.Start(ctx)) - fx.store = fx.s.NewStore().(*store) - return fx -} - -type fixture struct { - *store - s *service - a *app.App - serv *testServer - ctrl *gomock.Controller -} - -func (fx *fixture) Finish(t *testing.T) { - assert.NoError(t, fx.store.Close()) - assert.NoError(t, fx.a.Close(ctx)) - fx.ctrl.Finish() -} - -type testServer struct { - mu sync.Mutex - data map[string][]byte -} - -func (t *testServer) GetBlocks(stream fileproto.DRPCFile_GetBlocksStream) error { - for { - req, err := stream.Recv() - if err != nil { - return err - } - t.mu.Lock() - resp := &fileproto.GetBlockResponse{ - Cid: req.Cid, - } - if data, ok := t.data[string(req.Cid)]; ok { - resp.Data = data - } else { - resp.Code = fileproto.CIDError_CIDErrorNotFound - } - t.mu.Unlock() - if err = stream.Send(resp); err != nil { - return err - } - } -} - -func (t *testServer) PushBlock(ctx context.Context, req *fileproto.PushBlockRequest) (*fileproto.PushBlockResponse, error) { - t.mu.Lock() - defer t.mu.Unlock() - t.data[string(req.Cid)] = req.Data - return &fileproto.PushBlockResponse{}, nil -} - -func (t *testServer) DeleteBlocks(ctx context.Context, req *fileproto.DeleteBlocksRequest) (*fileproto.DeleteBlocksResponse, error) { - t.mu.Lock() - defer t.mu.Unlock() - for _, c := range req.Cid { - delete(t.data, string(c)) - } - return &fileproto.DeleteBlocksResponse{}, nil -} - -func (t *testServer) Check(ctx context.Context, req *fileproto.CheckRequest) (*fileproto.CheckResponse, error) { - return &fileproto.CheckResponse{}, nil -} diff --git a/client/filestorage/rpcstore/task.go b/client/filestorage/rpcstore/task.go deleted file mode 100644 index ae82574d..00000000 --- a/client/filestorage/rpcstore/task.go +++ /dev/null @@ -1,60 +0,0 @@ -package rpcstore - -import ( - "context" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - "time" -) - -type taskOp uint - -const ( - taskOpGet taskOp = iota - taskOpPut - taskOpDelete -) - -func newTask(ctx context.Context, op taskOp, c cid.Cid, readyCh chan *task) *task { - t := &task{ - cid: c, - ctx: ctx, - ready: readyCh, - op: op, - } - if t.ready == nil { - t.ready = make(chan *task) - } - return t -} - -type task struct { - op taskOp - ctx context.Context - cid cid.Cid - data []byte - peerId string - spaceId string - denyPeerIds []string - ready chan *task - startTime time.Time - err error -} - -func (t *task) Validate() error { - if t.err != nil { - return t.err - } - chkc, err := t.cid.Prefix().Sum(t.data) - if err != nil { - return err - } - if !chkc.Equals(t.cid) { - return blocks.ErrWrongHash - } - return nil -} - -func (t *task) Block() (blocks.Block, error) { - return blocks.NewBlockWithCid(t.data, t.cid) -} diff --git a/client/filestorage/syncer.go b/client/filestorage/syncer.go deleted file mode 100644 index e3310eab..00000000 --- a/client/filestorage/syncer.go +++ /dev/null @@ -1,145 +0,0 @@ -package filestorage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/filestorage/badgerfilestore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - blocks "github.com/ipfs/go-block-format" - "go.uber.org/zap" - "sync" - "sync/atomic" - "time" -) - -const syncerOpBatch = 10 - -type syncer struct { - ps *proxyStore - done chan struct{} -} - -func (s *syncer) run(ctx context.Context) { - defer close(s.done) - for { - select { - case <-ctx.Done(): - return - case <-time.After(time.Minute): - case <-s.ps.index.HasWorkCh(): - } - for s.sync(ctx) > 0 { - } - } -} - -func (s *syncer) sync(ctx context.Context) (doneCount int32) { - cids, err := s.ps.index.List(syncerOpBatch) - if err != nil { - log.Error("index list error", zap.Error(err)) - return - } - defer cids.Release() - l := cids.Len() - log.Debug("remote file sync, got tasks to sync", zap.Int("count", l)) - if l == 0 { - return - } - var cancel context.CancelFunc - ctx, cancel = context.WithTimeout(ctx, time.Minute) - defer cancel() - var wg sync.WaitGroup - var doneAtomic atomic.Int32 - for _, sOps := range cids.SpaceOps { - if len(sOps.Load) > 0 { - wg.Add(1) - go func(opt badgerfilestore.SpaceCidOps) { - defer wg.Done() - doneAtomic.Add(s.load(ctx, opt)) - }(sOps) - } - if len(sOps.Delete) > 0 { - wg.Add(1) - go func(opt badgerfilestore.SpaceCidOps) { - defer wg.Done() - doneAtomic.Add(s.delete(ctx, opt)) - }(sOps) - } - if len(sOps.Add) > 0 { - wg.Add(1) - go func(opt badgerfilestore.SpaceCidOps) { - defer wg.Done() - doneAtomic.Add(s.add(ctx, opt)) - }(sOps) - } - } - wg.Wait() - return doneAtomic.Load() -} - -func (s *syncer) load(ctx context.Context, spaceOps badgerfilestore.SpaceCidOps) (doneCount int32) { - ctx = fileblockstore.CtxWithSpaceId(ctx, spaceOps.SpaceId) - res := s.ps.origin.GetMany(ctx, spaceOps.Load) - doneCids := badgerfilestore.NewCids() - defer doneCids.Release() - for b := range res { - if err := s.ps.cache.Add(ctx, []blocks.Block{b}); err != nil { - log.Error("syncer: can't add to local store", zap.Error(err)) - continue - } - doneCids.Add(spaceOps.SpaceId, badgerfilestore.OpLoad, b.Cid()) - } - if err := s.ps.index.Done(doneCids); err != nil { - log.Error("syncer: index.Done error", zap.Error(err)) - return - } - doneCount = int32(doneCids.Len()) - log.Info("successfully loaded cids", zap.Int32("count", doneCount)) - return -} - -func (s *syncer) add(ctx context.Context, spaceOps badgerfilestore.SpaceCidOps) (doneCount int32) { - doneCids := badgerfilestore.NewCids() - defer doneCids.Release() - res := s.ps.cache.GetMany(ctx, spaceOps.Add) - var bs []blocks.Block - for b := range res { - bs = append(bs, b) - } - ctx = fileblockstore.CtxWithSpaceId(ctx, spaceOps.SpaceId) - - successCidsCh := s.ps.origin.AddAsync(ctx, bs) - for doneCid := range successCidsCh { - doneCids.Add(spaceOps.SpaceId, badgerfilestore.OpAdd, doneCid) - } - - doneCount = int32(doneCids.Len()) - if doneCount == 0 { - return - } - - if err := s.ps.index.Done(doneCids); err != nil { - log.Error("syncer: index.Done error", zap.Error(err)) - return - } - log.Info("successfully added cids", zap.Int32("count", doneCount), zap.Stringers("cids", doneCids.SpaceOps[0].Add)) - return -} - -func (s *syncer) delete(ctx context.Context, spaceOps badgerfilestore.SpaceCidOps) (doneCount int32) { - doneCids := badgerfilestore.NewCids() - defer doneCids.Release() - ctx = fileblockstore.CtxWithSpaceId(ctx, spaceOps.SpaceId) - for _, c := range spaceOps.Delete { - if err := s.ps.origin.Delete(ctx, c); err != nil { - log.Debug("syncer: can't remove from remote", zap.Error(err)) - continue - } - doneCids.Add(spaceOps.SpaceId, badgerfilestore.OpDelete, c) - } - if err := s.ps.index.Done(doneCids); err != nil { - log.Error("syncer: index.Done error", zap.Error(err)) - } - doneCount = int32(doneCids.Len()) - log.Info("successfully removed cids", zap.Int32("count", doneCount)) - return -} diff --git a/client/filestorage/syncer_test.go b/client/filestorage/syncer_test.go deleted file mode 100644 index d7df8f8d..00000000 --- a/client/filestorage/syncer_test.go +++ /dev/null @@ -1,106 +0,0 @@ -package filestorage - -import ( - "context" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "testing" - "time" -) - -func TestSyncer_add(t *testing.T) { - t.Log("start test") - fx := newPSFixture(t) - defer fx.Finish(t) - s := &syncer{ps: fx.proxyStore, done: make(chan struct{})} - ctx, cancel := context.WithCancel(ctx) - defer func() { - cancel() - <-s.done - }() - bs := newTestBocks("1", "2") - require.NoError(t, fx.Add(ctx, bs)) - go func() { - s.run(ctx) - }() - time.Sleep(time.Millisecond * 10) - bs2 := newTestBocks("3", "4") - require.NoError(t, fx.Add(ctx, bs2)) - var done = make(chan struct{}) - go func() { - defer close(done) - for _, b := range append(bs, bs2...) { - t.Log("check", b.Cid().String()) - for { - select { - case <-ctx.Done(): - return - default: - } - ab, err := fx.origin.Get(ctx, b.Cid()) - if err == nil { - assert.Equal(t, b.RawData(), ab.RawData()) - break - } - time.Sleep(time.Millisecond) - } - } - }() - select { - case <-done: - case <-time.After(time.Second): - t.Errorf("timeout") - } -} - -func TestSyncer_delete(t *testing.T) { - fx := newPSFixture(t) - defer fx.Finish(t) - s := &syncer{ps: fx.proxyStore, done: make(chan struct{})} - ctx, cancel := context.WithCancel(ctx) - defer func() { - cancel() - <-s.done - }() - go func() { - s.run(ctx) - }() - bs := newTestBocks("1", "2") - require.NoError(t, fx.cache.Add(ctx, bs)) - require.NoError(t, fx.origin.Add(ctx, bs)) - - for cid := range fx.cache.(*testStore).store { - t.Log("cache", cid) - } - for cid := range fx.origin.(*testStore).store { - t.Log("origin", cid) - } - - for _, b := range bs { - require.NoError(t, fx.Delete(ctx, b.Cid())) - } - - var done = make(chan struct{}) - go func() { - defer close(done) - for _, b := range bs { - for { - select { - case <-ctx.Done(): - return - default: - } - _, err := fx.origin.Get(ctx, b.Cid()) - if err != nil { - break - } - time.Sleep(time.Millisecond) - } - } - }() - select { - case <-done: - case <-time.After(time.Second): - t.Errorf("timeout") - } -} diff --git a/client/go.mod b/client/go.mod deleted file mode 100644 index 46d5d173..00000000 --- a/client/go.mod +++ /dev/null @@ -1,114 +0,0 @@ -module github.com/anytypeio/go-anytype-infrastructure-experiments/client - -replace github.com/anytypeio/go-anytype-infrastructure-experiments/common => ../common - -go 1.19 - -require ( - github.com/VividCortex/ewma v1.2.0 - github.com/anytypeio/go-anytype-infrastructure-experiments/common v0.0.0-00010101000000-000000000000 - github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c - github.com/dgraph-io/badger/v3 v3.2103.3 - github.com/gogo/protobuf v1.3.2 - github.com/golang/mock v1.6.0 - github.com/ipfs/go-block-format v0.0.3 - github.com/ipfs/go-cid v0.3.2 - github.com/ipfs/go-ipld-format v0.4.0 - github.com/stretchr/testify v1.8.1 - go.uber.org/multierr v1.9.0 - go.uber.org/zap v1.24.0 - gopkg.in/yaml.v3 v3.0.1 - storj.io/drpc v0.0.32 -) - -require ( - github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a // indirect - github.com/anytypeio/go-anytype-infrastructure-experiments/consensus v0.0.0-20221217135026-4eba413631b3 // indirect - github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect - github.com/dgraph-io/ristretto v0.1.1 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/fogleman/gg v1.3.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - github.com/goccy/go-graphviz v0.0.9 // indirect - github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect - github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/golang/snappy v0.0.3 // indirect - github.com/google/flatbuffers v1.12.1 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/huandu/skiplist v1.2.0 // indirect - github.com/ipfs/bbloom v0.0.4 // indirect - github.com/ipfs/go-bitfield v1.0.0 // indirect - github.com/ipfs/go-blockservice v0.5.0 // indirect - github.com/ipfs/go-datastore v0.6.0 // indirect - github.com/ipfs/go-ipfs-blockstore v1.2.0 // indirect - github.com/ipfs/go-ipfs-chunker v0.0.5 // indirect - github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect - github.com/ipfs/go-ipfs-exchange-interface v0.2.0 // indirect - github.com/ipfs/go-ipfs-files v0.0.3 // indirect - github.com/ipfs/go-ipfs-posinfo v0.0.1 // indirect - github.com/ipfs/go-ipfs-util v0.0.2 // indirect - github.com/ipfs/go-ipld-cbor v0.0.6 // indirect - github.com/ipfs/go-ipld-legacy v0.1.1 // indirect - github.com/ipfs/go-log v1.0.5 // indirect - github.com/ipfs/go-log/v2 v2.5.1 // indirect - github.com/ipfs/go-merkledag v0.8.1 // indirect - github.com/ipfs/go-metrics-interface v0.0.1 // indirect - github.com/ipfs/go-unixfs v0.4.1 // indirect - github.com/ipfs/go-verifcid v0.0.2 // indirect - github.com/ipld/go-codec-dagpb v1.5.0 // indirect - github.com/ipld/go-ipld-prime v0.19.0 // indirect - github.com/jbenet/goprocess v0.1.4 // indirect - github.com/klauspost/compress v1.15.10 // indirect - github.com/klauspost/cpuid/v2 v2.2.2 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.23.2 // indirect - github.com/libp2p/go-openssl v0.1.0 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mattn/go-pointer v0.0.1 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/minio/sha256-simd v1.0.0 // indirect - github.com/mr-tron/base58 v1.2.0 // indirect - github.com/multiformats/go-base32 v0.1.0 // indirect - github.com/multiformats/go-base36 v0.2.0 // indirect - github.com/multiformats/go-multiaddr v0.7.0 // indirect - github.com/multiformats/go-multibase v0.1.1 // indirect - github.com/multiformats/go-multicodec v0.6.0 // indirect - github.com/multiformats/go-multihash v0.2.1 // indirect - github.com/multiformats/go-varint v0.0.7 // indirect - github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/polydawn/refmt v0.89.0 // indirect - github.com/prometheus/client_golang v1.13.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect - github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/whyrusleeping/cbor-gen v0.0.0-20221213004032-c09a31a7d5e8 // indirect - github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f // indirect - github.com/zeebo/blake3 v0.2.3 // indirect - github.com/zeebo/errs v1.3.0 // indirect - go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/otel v1.11.2 // indirect - go.opentelemetry.io/otel/trace v1.11.2 // indirect - go.uber.org/atomic v1.10.0 // indirect - golang.org/x/crypto v0.4.0 // indirect - golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b // indirect - golang.org/x/image v0.0.0-20200119044424-58c23975cae1 // indirect - golang.org/x/net v0.3.0 // indirect - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect - golang.org/x/sys v0.3.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/protobuf v1.28.1 // indirect - lukechampine.com/blake3 v1.1.7 // indirect -) diff --git a/client/go.sum b/client/go.sum deleted file mode 100644 index c3707e47..00000000 --- a/client/go.sum +++ /dev/null @@ -1,868 +0,0 @@ -cloud.google.com/go v0.26.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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= -github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a h1:E/8AP5dFtMhl5KPJz66Kt9G0n+7Sn41Fy1wv9/jHOrc= -github.com/alecthomas/units v0.0.0-20210927113745-59d0afb8317a/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/anytypeio/go-anytype-infrastructure-experiments/consensus v0.0.0-20221217135026-4eba413631b3 h1:yIyGIb7bRkEngKtQ0Ja5bome2SEnErwTaEvR8dA/WtU= -github.com/anytypeio/go-anytype-infrastructure-experiments/consensus v0.0.0-20221217135026-4eba413631b3/go.mod h1:w0i62cRB2jVpjFb2CpPNj5J+ihKqqmBBG9X2+Odekjw= -github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232 h1:kMPPZYmJgbs4AJfodbg2OCXg5cp+9LPAJcLZJqmcghk= -github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232/go.mod h1:+PeHBAWp7gUh/yw6uAauKc5ku0w4cFNg6DUddGxoGq0= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/awalterschulze/gographviz v2.0.3+incompatible h1:9sVEXJBJLwGX7EQVhLm2elIKCm7P2YHFC8v6096G09E= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c h1:+bD75daSbsxyTzkKpNplC4xls+7/tGwty+zruzOnOmk= -github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c/go.mod h1:zCt2QeYukhd/g0bIdNqF+b/kKz1hnLFNDkP49qN5kqI= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -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/corona10/goimagehash v1.0.2 h1:pUfB0LnsJASMPGEZLj7tGY251vF+qLGqOgEP4rUs6kA= -github.com/corona10/goimagehash v1.0.2/go.mod h1:/l9umBhvcHQXVtQO1V6Gp1yD20STawkhRnnX0D1bvVI= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= -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/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -github.com/dgraph-io/badger/v3 v3.2103.3 h1:s63J1pisDhKpzWslXFe+ChuthuZptpwTE6qEKoczPb4= -github.com/dgraph-io/badger/v3 v3.2103.3/go.mod h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw= -github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= -github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -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/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= -github.com/goccy/go-graphviz v0.0.9 h1:s/FMMJ1Joj6La3S5ApO3Jk2cwM4LpXECC2muFx3IPQQ= -github.com/goccy/go-graphviz v0.0.9/go.mod h1:wXVsXxmyMQU6TN3zGRttjNn3h+iCAS7xQFC6TlNvLhk= -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.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -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/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/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/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.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -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.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -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/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= -github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -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/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/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/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= -github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= -github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= -github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= -github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -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-bitfield v1.0.0 h1:y/XHm2GEmD9wKngheWNNCNL0pzrWXZwCdQGv1ikXknQ= -github.com/ipfs/go-bitfield v1.0.0/go.mod h1:N/UiujQy+K+ceU1EF5EkVd1TNqevLrCQMIcAEPrdtus= -github.com/ipfs/go-bitswap v0.11.0 h1:j1WVvhDX1yhG32NTC9xfxnqycqYIlhzEzLXG/cU1HyQ= -github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY= -github.com/ipfs/go-block-format v0.0.3 h1:r8t66QstRp/pd/or4dpnbVfXT5Gt7lOqRvC+/dDTpMc= -github.com/ipfs/go-block-format v0.0.3/go.mod h1:4LmD4ZUw0mhO+JSKdpWwrzATiEfM7WWgQ8H5l6P8MVk= -github.com/ipfs/go-blockservice v0.5.0 h1:B2mwhhhVQl2ntW2EIpaWPwSCxSuqr5fFA93Ms4bYLEY= -github.com/ipfs/go-blockservice v0.5.0/go.mod h1:W6brZ5k20AehbmERplmERn8o2Ni3ZZubvAxaIUeaT6w= -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/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= -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-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc= -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw= -github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= -github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk= -github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8= -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-ipfs-blockstore v1.2.0 h1:n3WTeJ4LdICWs/0VSfjHrlqpPpl6MZ+ySd3j8qz0ykw= -github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE= -github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ= -github.com/ipfs/go-ipfs-chunker v0.0.5 h1:ojCf7HV/m+uS2vhUGWcogIIxiO5ubl5O57Q7NapWLY8= -github.com/ipfs/go-ipfs-chunker v0.0.5/go.mod h1:jhgdF8vxRHycr00k13FM8Y0E+6BoalYeobXmUyTreP8= -github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= -github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ= -github.com/ipfs/go-ipfs-ds-help v1.1.0 h1:yLE2w9RAsl31LtfMt91tRZcrx+e61O5mDxFRR994w4Q= -github.com/ipfs/go-ipfs-ds-help v1.1.0/go.mod h1:YR5+6EaebOhfcqVCyqemItCLthrpVNot+rsOU/5IatU= -github.com/ipfs/go-ipfs-exchange-interface v0.2.0 h1:8lMSJmKogZYNo2jjhUs0izT+dck05pqUw4mWNW9Pw6Y= -github.com/ipfs/go-ipfs-exchange-interface v0.2.0/go.mod h1:z6+RhJuDQbqKguVyslSOuVDhqF9JtTrO3eptSAiW2/Y= -github.com/ipfs/go-ipfs-exchange-offline v0.3.0 h1:c/Dg8GDPzixGd0MC8Jh6mjOwU57uYokgWRFidfvEkuA= -github.com/ipfs/go-ipfs-files v0.0.3 h1:ME+QnC3uOyla1ciRPezDW0ynQYK2ikOh9OCKAEg4uUA= -github.com/ipfs/go-ipfs-files v0.0.3/go.mod h1:INEFm0LL2LWXBhNJ2PMIIb2w45hpXgPjNoE7yA8Y1d4= -github.com/ipfs/go-ipfs-posinfo v0.0.1 h1:Esoxj+1JgSjX0+ylc0hUmJCOv6V2vFoZiETLR6OtpRs= -github.com/ipfs/go-ipfs-posinfo v0.0.1/go.mod h1:SwyeVP+jCwiDu0C313l/8jg6ZxM0qqtlt2a0vILTc1A= -github.com/ipfs/go-ipfs-pq v0.0.2 h1:e1vOOW6MuOwG2lqxcLA+wEn93i/9laCY8sXAw76jFOY= -github.com/ipfs/go-ipfs-routing v0.3.0 h1:9W/W3N+g+y4ZDeffSgqhgo7BsBSJwPMcyssET9OWevc= -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.6 h1:pYuWHyvSpIsOOLw4Jy7NbBkCyzLDcl64Bf/LZW7eBQ0= -github.com/ipfs/go-ipld-cbor v0.0.6/go.mod h1:ssdxxaLJPXH7OjF5V4NSjBbcfh+evoR4ukuru0oPXMA= -github.com/ipfs/go-ipld-format v0.0.1/go.mod h1:kyJtbkDALmFHv3QR6et67i35QzO3S0dCDnkOJhcZkms= -github.com/ipfs/go-ipld-format v0.2.0/go.mod h1:3l3C1uKoadTPbeNfrDi+xMInYKlx2Cvg1BuydPSdzQs= -github.com/ipfs/go-ipld-format v0.3.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= -github.com/ipfs/go-ipld-format v0.4.0 h1:yqJSaJftjmjc9jEOFYlpkwOLVKv68OD27jFLlSghBlQ= -github.com/ipfs/go-ipld-format v0.4.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= -github.com/ipfs/go-ipld-legacy v0.1.1 h1:BvD8PEuqwBHLTKqlGFTHSwrwFOMkVESEvwIYwR2cdcc= -github.com/ipfs/go-ipld-legacy v0.1.1/go.mod h1:8AyKFCjgRPsQFf15ZQgDB8Din4DML/fOmKZkkFkrIEg= -github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM= -github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= -github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= -github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g= -github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= -github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= -github.com/ipfs/go-merkledag v0.8.1 h1:N3yrqSre/ffvdwtHL4MXy0n7XH+VzN8DlzDrJySPa94= -github.com/ipfs/go-merkledag v0.8.1/go.mod h1:uYUlWE34GhbcTjGuUDEcdPzsEtOdnOupL64NgSRjmWI= -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.8.0 h1:JyNO144tfu9bx6Hpo119zvbEL9iQ760FHOiJYsUjqaU= -github.com/ipfs/go-unixfs v0.4.1 h1:nmJFKvF+khK03PIWyCxxydD/nkQX315NZDcgvRqMXf0= -github.com/ipfs/go-unixfs v0.4.1/go.mod h1:2SUDFhUSzrcL408B1qpIkJJ5HznnyTzweViPXUAvkNg= -github.com/ipfs/go-verifcid v0.0.2 h1:XPnUv0XmdH+ZIhLGKg6U2vaPaRDXb9urMyNVCE7uvTs= -github.com/ipfs/go-verifcid v0.0.2/go.mod h1:40cD9x1y4OWnFXbLNJYRe7MpNvWlMn3LZAG5Wb4xnPU= -github.com/ipld/go-codec-dagpb v1.5.0 h1:RspDRdsJpLfgCI0ONhTAnbHdySGD4t+LHSPK4X1+R0k= -github.com/ipld/go-codec-dagpb v1.5.0/go.mod h1:0yRIutEFD8o1DGVqw4RSHh+BUTlJA9XWldxaaWR/o4g= -github.com/ipld/go-ipld-prime v0.9.1-0.20210324083106-dc342a9917db/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= -github.com/ipld/go-ipld-prime v0.19.0 h1:5axC7rJmPc17Emw6TelxGwnzALk0PdupZ2oj2roDj04= -github.com/ipld/go-ipld-prime v0.19.0/go.mod h1:Q9j3BaVXwaA3o5JUDNvptDDr/x8+F7FG6XJ8WI3ILg4= -github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= -github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= -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 v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -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/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.10 h1:Ai8UzuomSCDw90e1qNMtb15msBXsNpH6gzkkENQNcJo= -github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= -github.com/klauspost/cpuid/v2 v2.2.2 h1:xPMwiykqNK9VK0NYC3+jTMYv9I6Vl3YdjZgPZKG3zO0= -github.com/klauspost/cpuid/v2 v2.2.2/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/koron/go-ssdp v0.0.3 h1:JivLMY45N76b4p/vsWGOKewBQu6uf39y8l+AQ7sDKx8= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -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/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= -github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= -github.com/libp2p/go-libp2p v0.23.2 h1:yqyTeKQJyofWXxEv/eEVUvOrGdt/9x+0PIQ4N1kaxmE= -github.com/libp2p/go-libp2p v0.23.2/go.mod h1:s9DEa5NLR4g+LZS+md5uGU4emjMWFiqkZr6hBTY8UxI= -github.com/libp2p/go-libp2p-asn-util v0.2.0 h1:rg3+Os8jbnO5DxkC7K/Utdi+DkY3q/d1/1q+8WeNAsw= -github.com/libp2p/go-libp2p-record v0.2.0 h1:oiNUOCWno2BFuxt3my4i1frNrt7PerzB3queqa1NkQ0= -github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA= -github.com/libp2p/go-msgio v0.2.0 h1:W6shmB+FeynDrUVl2dgFQvzfBZcXiyqY4VmpQLu9FqU= -github.com/libp2p/go-nat v0.1.0 h1:MfVsH6DLcpa04Xr+p8hmVRG4juse0s3J8HyNWYHffXg= -github.com/libp2p/go-netroute v0.2.0 h1:0FpsbsvuSnAhXFnCY0VLFbJOzaK0VnP0r1QT/o4nWRE= -github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo= -github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= -github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= -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= -github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -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-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= -github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= -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/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= -github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= -github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= -github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= -github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= -github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= -github.com/multiformats/go-multiaddr v0.7.0 h1:gskHcdaCyPtp9XskVwtvEeQOG465sCohbQIirSyqxrc= -github.com/multiformats/go-multiaddr v0.7.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs= -github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= -github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= -github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs= -github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= -github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI= -github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8= -github.com/multiformats/go-multicodec v0.6.0 h1:KhH2kSuCARyuJraYMFxrNO3DqIaYhOdS039kbhgVwpE= -github.com/multiformats/go-multicodec v0.6.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw= -github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U= -github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= -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-multihash v0.0.15/go.mod h1:D6aZrWNLFTV/ynMpKsNtB40mJzmCl4jb1alC0OvHiHg= -github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= -github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= -github.com/multiformats/go-multistream v0.3.3 h1:d5PZpjwRgVlbwfdTDjife7XszfZd8KYWfROYFlGcR8o= -github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= -github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5 h1:BvoENQQU+fZ9uukda/RzCAL/191HHwJA5b13R6diVlY= -github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= -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.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/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/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= -github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= -github.com/polydawn/refmt v0.89.0 h1:ADJTApkvkeBZsN0tBTx8QjpD9JkmxbKp0cxfr9qszm4= -github.com/polydawn/refmt v0.89.0/go.mod h1:/zvteZs/GwLtCgZ4BL6CBsk9IKIlexP43ObX9AxTqTw= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= -github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -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/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hgR6gDIPg= -github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM= -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/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/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -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/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/warpfork/go-testmark v0.10.0 h1:E86YlUMYfwIacEsQGlnTvjk1IgYkyTGjPhF0RnwTCmw= -github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= -github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= -github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0 h1:GDDkbFiaK8jsSDJfjId/PEGEShv6ugrt4kYsC5UIDaQ= -github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= -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-20221213004032-c09a31a7d5e8 h1:wGJHI5UqTlrtrgpA5kaQACNegkEHGhG/6Lmc7QORfqI= -github.com/whyrusleeping/cbor-gen v0.0.0-20221213004032-c09a31a7d5e8/go.mod h1:fgkXqYy7bV2cFeIEOkVTZS/WjXARfBqSH6Q2qHL33hQ= -github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f h1:jQa4QT2UP9WYv2nzyawpKMOCl+Z/jW7djv2/J50lj9E= -github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f/go.mod h1:p9UJB6dDgdPgMJZs7UjUOdulKyRr9fqkS+6JKAInPy8= -github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= -github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= -github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg= -github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ= -github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs= -github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= -github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= -github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/otel v1.11.2 h1:YBZcQlsVekzFsFbjygXMOXSs6pialIZxcjfO/mBDmR0= -go.opentelemetry.io/otel v1.11.2/go.mod h1:7p4EUV+AqgdlNV9gL97IgUZiVR3yrFXYo53f9BM3tRI= -go.opentelemetry.io/otel/trace v1.11.2 h1:Xf7hWSF2Glv0DE3MH7fBHvtpSBsjcBUe5MYAmZM/+y0= -go.opentelemetry.io/otel/trace v1.11.2/go.mod h1:4N+yC7QEz7TTsG9BSRLNAa63eg5E06ObSbKPmxQ/pKA= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -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-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b h1:SCE/18RnFsLrjydh/R/s5EVvHoZprqEQUuoxK8q2Pc4= -golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1 h1:5h3ngYt7+vXCDZCup/HkCQgW5XwmSvR/nA2JmJ0RErg= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -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-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= -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-20181114220301-adae6a3d119a/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-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= -golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/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-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -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/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/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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-20181116152217-5ac8a444bdc5/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/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-20190302025703-b6889370fb10/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -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/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/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-20180917221912-90fa682c2a6e/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-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/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-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/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-20191125144606-a911d9008d1f/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-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/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-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= -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/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/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-20190418145605-e7d98fc518a7/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-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/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.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -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.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -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/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/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -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-20190418001031-e561f6794a2a/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/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= -lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -storj.io/drpc v0.0.32 h1:5p5ZwsK/VOgapaCu+oxaPVwO6UwIs+iwdMiD50+R4PI= -storj.io/drpc v0.0.32/go.mod h1:6rcOyR/QQkSTX/9L5ZGtlZaE2PtXTTZl8d+ulSeeYEg= diff --git a/client/storage/helpers.go b/client/storage/helpers.go deleted file mode 100644 index d1d5915a..00000000 --- a/client/storage/helpers.go +++ /dev/null @@ -1,41 +0,0 @@ -package storage - -import ( - "github.com/dgraph-io/badger/v3" -) - -func hasDB(db *badger.DB, key []byte) bool { - return db.View(func(txn *badger.Txn) error { - _, err := txn.Get(key) - return err - }) == nil -} - -func putDB(db *badger.DB, key, value []byte) (err error) { - return db.Update(func(txn *badger.Txn) error { - return txn.Set(key, value) - }) -} - -func getDB(db *badger.DB, key []byte) (value []byte, err error) { - err = db.View(func(txn *badger.Txn) error { - item, err := txn.Get(key) - if err != nil { - return err - } - value, err = item.ValueCopy(value) - if err != nil { - return err - } - return err - }) - return -} - -func getTxn(txn *badger.Txn, key []byte) (value []byte, err error) { - item, err := txn.Get(key) - if err != nil { - return - } - return item.ValueCopy(value) -} diff --git a/client/storage/keys.go b/client/storage/keys.go deleted file mode 100644 index b2d7ac61..00000000 --- a/client/storage/keys.go +++ /dev/null @@ -1,109 +0,0 @@ -package storage - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" -) - -type aclKeys struct { - spaceId string - rootKey []byte - headKey []byte -} - -func newAclKeys(spaceId string) aclKeys { - return aclKeys{ - spaceId: spaceId, - rootKey: treestorage.JoinStringsToBytes("space", spaceId, "a", "rootId"), - headKey: treestorage.JoinStringsToBytes("space", spaceId, "a", "headId"), - } -} - -func (a aclKeys) HeadIdKey() []byte { - return a.headKey -} - -func (a aclKeys) RootIdKey() []byte { - return a.rootKey -} - -func (a aclKeys) RawRecordKey(id string) []byte { - return treestorage.JoinStringsToBytes("space", a.spaceId, "a", id) -} - -type treeKeys struct { - id string - spaceId string - headsKey []byte - rootKey []byte - rawChangePrefix []byte -} - -func newTreeKeys(spaceId, id string) treeKeys { - return treeKeys{ - id: id, - spaceId: spaceId, - headsKey: treestorage.JoinStringsToBytes("space", spaceId, "t", id, "heads"), - rootKey: treestorage.JoinStringsToBytes("space", spaceId, "t", "rootId", id), - rawChangePrefix: treestorage.JoinStringsToBytes("space", spaceId, "t", id), - } -} - -func (t treeKeys) HeadsKey() []byte { - return t.headsKey -} - -func (t treeKeys) RootIdKey() []byte { - return t.rootKey -} - -func (t treeKeys) RawChangeKey(id string) []byte { - return treestorage.JoinStringsToBytes("space", t.spaceId, "t", t.id, id) -} - -func (t treeKeys) RawChangePrefix() []byte { - return t.rawChangePrefix -} - -type spaceKeys struct { - spaceId string - headerKey []byte - treePrefixKey []byte - spaceSettingsIdKey []byte -} - -func newSpaceKeys(spaceId string) spaceKeys { - return spaceKeys{ - spaceId: spaceId, - headerKey: treestorage.JoinStringsToBytes("space", "header", spaceId), - treePrefixKey: treestorage.JoinStringsToBytes("space", spaceId, "t", "rootId"), - spaceSettingsIdKey: treestorage.JoinStringsToBytes("space", spaceId, "spaceSettingsId"), - } -} - -func (s spaceKeys) HeaderKey() []byte { - return s.headerKey -} - -func (s spaceKeys) TreeRootPrefix() []byte { - return s.treePrefixKey -} - -func (s spaceKeys) SpaceSettingsId() []byte { - return s.spaceSettingsIdKey -} - -func (s spaceKeys) TreeDeletedKey(id string) []byte { - return treestorage.JoinStringsToBytes("space", s.spaceId, "deleted", id) -} - -type storageServiceKeys struct { - spacePrefix []byte -} - -func newStorageServiceKeys() storageServiceKeys { - return storageServiceKeys{spacePrefix: []byte("space/header")} -} - -func (s storageServiceKeys) SpacePrefix() []byte { - return s.spacePrefix -} diff --git a/client/storage/liststorage.go b/client/storage/liststorage.go deleted file mode 100644 index 5b8ab141..00000000 --- a/client/storage/liststorage.go +++ /dev/null @@ -1,119 +0,0 @@ -package storage - -import ( - "context" - "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/dgraph-io/badger/v3" -) - -var ErrIncorrectKey = errors.New("key format is incorrect") - -type listStorage struct { - db *badger.DB - keys aclKeys - id string - root *aclrecordproto.RawAclRecordWithId -} - -func newListStorage(spaceId string, db *badger.DB, txn *badger.Txn) (ls liststorage.ListStorage, err error) { - keys := newAclKeys(spaceId) - rootId, err := getTxn(txn, keys.RootIdKey()) - if err != nil { - return - } - - stringId := string(rootId) - value, err := getTxn(txn, keys.RawRecordKey(stringId)) - if err != nil { - return - } - - rootWithId := &aclrecordproto.RawAclRecordWithId{ - Payload: value, - Id: stringId, - } - - ls = &listStorage{ - db: db, - keys: newACLKeys(spaceId), - id: stringId, - root: rootWithId, - } - return -} - -func createListStorage(spaceId string, db *badger.DB, txn *badger.Txn, root *aclrecordproto.RawAclRecordWithId) (ls liststorage.ListStorage, err error) { - keys := newAclKeys(spaceId) - _, err = getTxn(txn, keys.RootIdKey()) - if err != badger.ErrKeyNotFound { - if err == nil { - return newListStorage(spaceId, db, txn) - } - return - } - - err = txn.Set(keys.HeadIdKey(), []byte(root.Id)) - if err != nil { - return - } - - err = txn.Set(keys.RawRecordKey(root.Id), root.Payload) - if err != nil { - return - } - err = txn.Set(keys.RootIdKey(), []byte(root.Id)) - if err != nil { - return - } - - ls = &listStorage{ - db: db, - keys: newACLKeys(spaceId), - id: root.Id, - root: root, - } - return -} - -func (l *listStorage) Id() string { - return l.id -} - -func (l *listStorage) Root() (*aclrecordproto.RawAclRecordWithId, error) { - return l.root, nil -} - -func (l *listStorage) Head() (head string, err error) { - bytes, err := getDB(l.db, l.keys.HeadIdKey()) - if err != nil { - return - } - head = string(bytes) - return -} - -func (l *listStorage) GetRawRecord(ctx context.Context, id string) (raw *aclrecordproto.RawAclRecordWithId, err error) { - res, err := getDB(l.db, l.keys.RawRecordKey(id)) - if err != nil { - if err == badger.ErrKeyNotFound { - err = liststorage.ErrUnknownRecord - } - return - } - - raw = &aclrecordproto.RawAclRecordWithId{ - Payload: res, - Id: id, - } - return -} - -func (l *listStorage) SetHead(headId string) (err error) { - return putDB(l.db, l.keys.HeadIdKey(), []byte(headId)) -} - -func (l *listStorage) AddRawRecord(ctx context.Context, rec *aclrecordproto.RawAclRecordWithId) error { - return putDB(l.db, l.keys.RawRecordKey(rec.Id), rec.Payload) -} diff --git a/client/storage/liststorage_test.go b/client/storage/liststorage_test.go deleted file mode 100644 index 8b9a344c..00000000 --- a/client/storage/liststorage_test.go +++ /dev/null @@ -1,72 +0,0 @@ -package storage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/dgraph-io/badger/v3" - "github.com/stretchr/testify/require" - "testing" -) - -func testList(t *testing.T, store liststorage.ListStorage, root *aclrecordproto.RawAclRecordWithId, head string) { - require.Equal(t, store.Id(), root.Id) - - aclRoot, err := store.Root() - require.NoError(t, err) - require.Equal(t, root, aclRoot) - - aclHead, err := store.Head() - require.NoError(t, err) - require.Equal(t, head, aclHead) -} - -func TestListStorage(t *testing.T) { - fx := newFixture(t) - fx.open(t) - defer fx.stop(t) - spaceId := "spaceId" - aclRoot := &aclrecordproto.RawAclRecordWithId{Payload: []byte("root"), Id: "someRootId"} - - fx.db.Update(func(txn *badger.Txn) error { - _, err := createListStorage(spaceId, fx.db, txn, aclRoot) - require.NoError(t, err) - return nil - }) - - var listStore liststorage.ListStorage - fx.db.View(func(txn *badger.Txn) (err error) { - listStore, err = newListStorage(spaceId, fx.db, txn) - require.NoError(t, err) - testList(t, listStore, aclRoot, aclRoot.Id) - - return nil - }) - - t.Run("create same storage returns no error", func(t *testing.T) { - fx.db.View(func(txn *badger.Txn) error { - // this is ok, because we only create new list storage when we create space storage - listStore, err := createListStorage(spaceId, fx.db, txn, aclRoot) - require.NoError(t, err) - testList(t, listStore, aclRoot, aclRoot.Id) - - return nil - }) - }) - - t.Run("set head", func(t *testing.T) { - head := "newHead" - require.NoError(t, listStore.SetHead(head)) - aclHead, err := listStore.Head() - require.NoError(t, err) - require.Equal(t, head, aclHead) - }) - - t.Run("add raw record and get raw record", func(t *testing.T) { - newRec := &aclrecordproto.RawAclRecordWithId{Payload: []byte("rec"), Id: "someRecId"} - require.NoError(t, listStore.AddRawRecord(context.Background(), newRec)) - aclRec, err := listStore.GetRawRecord(context.Background(), newRec.Id) - require.NoError(t, err) - require.Equal(t, newRec, aclRec) - }) -} diff --git a/client/storage/spacestorage.go b/client/storage/spacestorage.go deleted file mode 100644 index c2cd581a..00000000 --- a/client/storage/spacestorage.go +++ /dev/null @@ -1,194 +0,0 @@ -package storage - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - storage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/dgraph-io/badger/v3" -) - -type spaceStorage struct { - spaceId string - spaceSettingsId string - objDb *badger.DB - keys spaceKeys - aclStorage liststorage.ListStorage - header *spacesyncproto.RawSpaceHeaderWithId -} - -var spaceValidationFunc = spacestorage.ValidateSpaceStorageCreatePayload - -func newSpaceStorage(objDb *badger.DB, spaceId string) (store spacestorage.SpaceStorage, err error) { - keys := newSpaceKeys(spaceId) - err = objDb.View(func(txn *badger.Txn) error { - header, err := getTxn(txn, keys.HeaderKey()) - if err != nil { - return err - } - - aclStorage, err := newListStorage(spaceId, objDb, txn) - if err != nil { - return err - } - - spaceSettingsId, err := getTxn(txn, keys.SpaceSettingsId()) - if err != nil { - return err - } - store = &spaceStorage{ - spaceId: spaceId, - spaceSettingsId: string(spaceSettingsId), - objDb: objDb, - keys: keys, - header: &spacesyncproto.RawSpaceHeaderWithId{ - RawHeader: header, - Id: spaceId, - }, - aclStorage: aclStorage, - } - return nil - }) - if err == badger.ErrKeyNotFound { - err = spacestorage.ErrSpaceStorageMissing - } - return -} - -func createSpaceStorage(db *badger.DB, payload spacestorage.SpaceStorageCreatePayload) (store spacestorage.SpaceStorage, err error) { - keys := newSpaceKeys(payload.SpaceHeaderWithId.Id) - if hasDB(db, keys.HeaderKey()) { - err = spacestorage.ErrSpaceStorageExists - return - } - err = spaceValidationFunc(payload) - if err != nil { - return - } - - spaceStore := &spaceStorage{ - spaceId: payload.SpaceHeaderWithId.Id, - objDb: db, - keys: keys, - spaceSettingsId: payload.SpaceSettingsWithId.Id, - header: payload.SpaceHeaderWithId, - } - _, err = spaceStore.CreateTreeStorage(storage.TreeStorageCreatePayload{ - RootRawChange: payload.SpaceSettingsWithId, - Changes: []*treechangeproto.RawTreeChangeWithId{payload.SpaceSettingsWithId}, - Heads: []string{payload.SpaceSettingsWithId.Id}, - }) - if err != nil { - return - } - err = db.Update(func(txn *badger.Txn) error { - err = txn.Set(keys.SpaceSettingsId(), []byte(payload.SpaceSettingsWithId.Id)) - if err != nil { - return err - } - aclStorage, err := createListStorage(payload.SpaceHeaderWithId.Id, db, txn, payload.AclWithId) - if err != nil { - return err - } - - err = txn.Set(keys.HeaderKey(), payload.SpaceHeaderWithId.RawHeader) - if err != nil { - return err - } - - spaceStore.aclStorage = aclStorage - return nil - }) - store = spaceStore - return -} - -func (s *spaceStorage) Id() string { - return s.spaceId -} - -func (s *spaceStorage) SpaceSettingsId() string { - return s.spaceSettingsId -} - -func (s *spaceStorage) TreeStorage(id string) (storage.TreeStorage, error) { - return newTreeStorage(s.objDb, s.spaceId, id) -} - -func (s *spaceStorage) CreateTreeStorage(payload storage.TreeStorageCreatePayload) (ts storage.TreeStorage, err error) { - return createTreeStorage(s.objDb, s.spaceId, payload) -} - -func (s *spaceStorage) AclStorage() (liststorage.ListStorage, error) { - return s.aclStorage, nil -} - -func (s *spaceStorage) SpaceHeader() (header *spacesyncproto.RawSpaceHeaderWithId, err error) { - return s.header, nil -} - -func (s *spaceStorage) StoredIds() (ids []string, err error) { - err = s.objDb.View(func(txn *badger.Txn) error { - opts := badger.DefaultIteratorOptions - opts.PrefetchValues = false - opts.Prefix = s.keys.TreeRootPrefix() - - it := txn.NewIterator(opts) - defer it.Close() - - for it.Rewind(); it.Valid(); it.Next() { - item := it.Item() - id := make([]byte, 0, len(item.Key())) - id = item.KeyCopy(id) - if len(id) <= len(s.keys.TreeRootPrefix())+1 { - continue - } - id = id[len(s.keys.TreeRootPrefix())+1:] - ids = append(ids, string(id)) - } - return nil - }) - return -} - -func (s *spaceStorage) SetTreeDeletedStatus(id, status string) (err error) { - return s.objDb.Update(func(txn *badger.Txn) error { - return txn.Set(s.keys.TreeDeletedKey(id), []byte(status)) - }) -} - -func (s *spaceStorage) TreeDeletedStatus(id string) (status string, err error) { - err = s.objDb.View(func(txn *badger.Txn) error { - res, err := getTxn(txn, s.keys.TreeDeletedKey(id)) - if err != nil { - return err - } - status = string(res) - return nil - }) - if err == badger.ErrKeyNotFound { - err = nil - } - return -} - -func (s *spaceStorage) TreeRoot(id string) (root *treechangeproto.RawTreeChangeWithId, err error) { - keys := newTreeKeys(s.spaceId, id) - err = s.objDb.View(func(txn *badger.Txn) error { - bytes, err := getTxn(txn, keys.RawChangeKey(id)) - if err != nil { - return err - } - root = &treechangeproto.RawTreeChangeWithId{ - RawChange: bytes, - Id: id, - } - return nil - }) - return -} - -func (s *spaceStorage) Close() (err error) { - return nil -} diff --git a/client/storage/spacestorage_test.go b/client/storage/spacestorage_test.go deleted file mode 100644 index 7b48068c..00000000 --- a/client/storage/spacestorage_test.go +++ /dev/null @@ -1,126 +0,0 @@ -package storage - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/stretchr/testify/require" - "sort" - "strconv" - "testing" -) - -func spaceTestPayload() spacestorage.SpaceStorageCreatePayload { - header := &spacesyncproto.RawSpaceHeaderWithId{ - RawHeader: []byte("header"), - Id: "headerId", - } - aclRoot := &aclrecordproto.RawAclRecordWithId{ - Payload: []byte("aclRoot"), - Id: "aclRootId", - } - settings := &treechangeproto.RawTreeChangeWithId{ - RawChange: []byte("settings"), - Id: "settingsId", - } - return spacestorage.SpaceStorageCreatePayload{ - AclWithId: aclRoot, - SpaceHeaderWithId: header, - SpaceSettingsWithId: settings, - } -} - -func testSpace(t *testing.T, store spacestorage.SpaceStorage, payload spacestorage.SpaceStorageCreatePayload) { - header, err := store.SpaceHeader() - require.NoError(t, err) - require.Equal(t, payload.SpaceHeaderWithId, header) - - aclStorage, err := store.AclStorage() - require.NoError(t, err) - testList(t, aclStorage, payload.AclWithId, payload.AclWithId.Id) -} - -func TestSpaceStorage_Create(t *testing.T) { - fx := newFixture(t) - fx.open(t) - defer fx.stop(t) - - payload := spaceTestPayload() - store, err := createSpaceStorage(fx.db, payload) - require.NoError(t, err) - - testSpace(t, store, payload) - require.NoError(t, store.Close()) - - t.Run("create same storage returns error", func(t *testing.T) { - _, err := createSpaceStorage(fx.db, payload) - require.Error(t, err) - }) -} - -func TestSpaceStorage_NewAndCreateTree(t *testing.T) { - fx := newFixture(t) - fx.open(t) - - payload := spaceTestPayload() - store, err := createSpaceStorage(fx.db, payload) - require.NoError(t, err) - require.NoError(t, store.Close()) - fx.stop(t) - - fx.open(t) - defer fx.stop(t) - store, err = newSpaceStorage(fx.db, payload.SpaceHeaderWithId.Id) - require.NoError(t, err) - testSpace(t, store, payload) - - t.Run("create tree, get tree and mark deleted", func(t *testing.T) { - payload := treeTestPayload() - treeStore, err := store.CreateTreeStorage(payload) - require.NoError(t, err) - testTreePayload(t, treeStore, payload) - - otherStore, err := store.TreeStorage(payload.RootRawChange.Id) - require.NoError(t, err) - testTreePayload(t, otherStore, payload) - - initialStatus := "deleted" - err = store.SetTreeDeletedStatus(otherStore.Id(), initialStatus) - require.NoError(t, err) - - status, err := store.TreeDeletedStatus(otherStore.Id()) - require.NoError(t, err) - require.Equal(t, initialStatus, status) - }) -} - -func TestSpaceStorage_StoredIds(t *testing.T) { - fx := newFixture(t) - fx.open(t) - defer fx.stop(t) - - payload := spaceTestPayload() - store, err := createSpaceStorage(fx.db, payload) - require.NoError(t, err) - defer func() { - require.NoError(t, store.Close()) - }() - - n := 5 - var ids []string - for i := 0; i < n; i++ { - treePayload := treeTestPayload() - treePayload.RootRawChange.Id += strconv.Itoa(i) - ids = append(ids, treePayload.RootRawChange.Id) - _, err := store.CreateTreeStorage(treePayload) - require.NoError(t, err) - } - ids = append(ids, payload.SpaceSettingsWithId.Id) - sort.Strings(ids) - - storedIds, err := store.StoredIds() - require.NoError(t, err) - sort.Strings(storedIds) - require.Equal(t, ids, storedIds) -} diff --git a/client/storage/storageservice.go b/client/storage/storageservice.go deleted file mode 100644 index 4ff0b014..00000000 --- a/client/storage/storageservice.go +++ /dev/null @@ -1,84 +0,0 @@ -package storage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/badgerprovider" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/dgraph-io/badger/v3" -) - -type storageService struct { - keys storageServiceKeys - db *badger.DB -} - -type ClientStorage interface { - spacestorage.SpaceStorageProvider - app.ComponentRunnable - AllSpaceIds() (ids []string, err error) -} - -func New() ClientStorage { - return &storageService{} -} - -func (s *storageService) Init(a *app.App) (err error) { - provider := a.MustComponent(badgerprovider.CName).(badgerprovider.BadgerProvider) - s.db = provider.Badger() - s.keys = newStorageServiceKeys() - return -} - -func (s *storageService) Name() (name string) { - return spacestorage.CName -} - -func (s *storageService) SpaceStorage(id string) (spacestorage.SpaceStorage, error) { - return newSpaceStorage(s.db, id) -} - -func (s *storageService) SpaceExists(id string) bool { - return s.db.View(func(txn *badger.Txn) error { - _, err := getTxn(txn, newSpaceKeys(id).HeaderKey()) - if err != nil { - return err - } - return nil - }) == nil -} - -func (s *storageService) CreateSpaceStorage(payload spacestorage.SpaceStorageCreatePayload) (spacestorage.SpaceStorage, error) { - return createSpaceStorage(s.db, payload) -} - -func (s *storageService) AllSpaceIds() (ids []string, err error) { - err = s.db.View(func(txn *badger.Txn) error { - opts := badger.DefaultIteratorOptions - opts.PrefetchValues = false - opts.Prefix = s.keys.SpacePrefix() - - it := txn.NewIterator(opts) - defer it.Close() - - for it.Rewind(); it.Valid(); it.Next() { - item := it.Item() - id := item.Key() - if len(id) <= len(s.keys.SpacePrefix())+1 { - continue - } - id = id[len(s.keys.SpacePrefix())+1:] - ids = append(ids, string(id)) - } - return nil - }) - return -} - -func (s *storageService) Run(ctx context.Context) (err error) { - return nil -} - -func (s *storageService) Close(ctx context.Context) (err error) { - return s.db.Close() -} diff --git a/client/storage/treestorage.go b/client/storage/treestorage.go deleted file mode 100644 index 3e60a704..00000000 --- a/client/storage/treestorage.go +++ /dev/null @@ -1,181 +0,0 @@ -package storage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/dgraph-io/badger/v3" -) - -type treeStorage struct { - db *badger.DB - keys treeKeys - id string - root *treechangeproto.RawTreeChangeWithId -} - -func newTreeStorage(db *badger.DB, spaceId, treeId string) (ts treestorage.TreeStorage, err error) { - keys := newTreeKeys(spaceId, treeId) - err = db.View(func(txn *badger.Txn) error { - _, err := txn.Get(keys.RootIdKey()) - if err != nil { - return err - } - - root, err := getTxn(txn, keys.RawChangeKey(treeId)) - if err != nil { - return err - } - - rootWithId := &treechangeproto.RawTreeChangeWithId{ - RawChange: root, - Id: treeId, - } - - ts = &treeStorage{ - db: db, - keys: keys, - id: treeId, - root: rootWithId, - } - return nil - }) - if err == badger.ErrKeyNotFound { - err = treestorage.ErrUnknownTreeId - } - return -} - -func createTreeStorage(db *badger.DB, spaceId string, payload treestorage.TreeStorageCreatePayload) (ts treestorage.TreeStorage, err error) { - keys := newTreeKeys(spaceId, payload.RootRawChange.Id) - if hasDB(db, keys.RootIdKey()) { - err = treestorage.ErrTreeExists - return - } - err = db.Update(func(txn *badger.Txn) error { - heads := treestorage.CreateHeadsPayload(payload.Heads) - - for _, ch := range payload.Changes { - err = txn.Set(keys.RawChangeKey(ch.Id), ch.GetRawChange()) - if err != nil { - return err - } - } - - err = txn.Set(keys.RawChangeKey(payload.RootRawChange.Id), payload.RootRawChange.GetRawChange()) - if err != nil { - return err - } - - err = txn.Set(keys.HeadsKey(), heads) - if err != nil { - return err - } - - err = txn.Set(keys.RootIdKey(), nil) - if err != nil { - return err - } - - ts = &treeStorage{ - db: db, - keys: keys, - id: payload.RootRawChange.Id, - root: payload.RootRawChange, - } - return nil - }) - return -} - -func (t *treeStorage) Id() string { - return t.id -} - -func (t *treeStorage) Root() (raw *treechangeproto.RawTreeChangeWithId, err error) { - return t.root, nil -} - -func (t *treeStorage) Heads() (heads []string, err error) { - headsBytes, err := getDB(t.db, t.keys.HeadsKey()) - if err != nil { - if err == badger.ErrKeyNotFound { - err = treestorage.ErrUnknownTreeId - } - return - } - heads = treestorage.ParseHeads(headsBytes) - return -} - -func (t *treeStorage) SetHeads(heads []string) (err error) { - payload := treestorage.CreateHeadsPayload(heads) - return putDB(t.db, t.keys.HeadsKey(), payload) -} - -func (t *treeStorage) AddRawChange(change *treechangeproto.RawTreeChangeWithId) (err error) { - return putDB(t.db, t.keys.RawChangeKey(change.Id), change.RawChange) -} - -func (t *treeStorage) GetRawChange(ctx context.Context, id string) (raw *treechangeproto.RawTreeChangeWithId, err error) { - res, err := getDB(t.db, t.keys.RawChangeKey(id)) - if err != nil { - if err == badger.ErrKeyNotFound { - err = treestorage.ErrUnknownTreeId - } - return - } - - raw = &treechangeproto.RawTreeChangeWithId{ - RawChange: res, - Id: id, - } - return -} - -func (t *treeStorage) HasChange(ctx context.Context, id string) (bool, error) { - return hasDB(t.db, t.keys.RawChangeKey(id)), nil -} - -func (t *treeStorage) Delete() (err error) { - storedKeys, err := t.storedKeys() - if err != nil { - return - } - err = t.db.Update(func(txn *badger.Txn) error { - for _, k := range storedKeys { - err = txn.Delete(k) - if err != nil { - return err - } - } - return nil - }) - return -} - -func (t *treeStorage) storedKeys() (keys [][]byte, err error) { - err = t.db.View(func(txn *badger.Txn) error { - opts := badger.DefaultIteratorOptions - opts.PrefetchValues = false - // this will get all raw changes and also "heads" - opts.Prefix = t.keys.RawChangePrefix() - - it := txn.NewIterator(opts) - defer it.Close() - - for it.Rewind(); it.Valid(); it.Next() { - item := it.Item() - key := item.Key() - keyCopy := make([]byte, 0, len(key)) - keyCopy = item.KeyCopy(keyCopy) - keys = append(keys, keyCopy) - } - return nil - }) - if err != nil { - return - } - keys = append(keys, t.keys.RootIdKey()) - return -} diff --git a/client/storage/treestorage_test.go b/client/storage/treestorage_test.go deleted file mode 100644 index a5c6e4c0..00000000 --- a/client/storage/treestorage_test.go +++ /dev/null @@ -1,188 +0,0 @@ -package storage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/dgraph-io/badger/v3" - "github.com/stretchr/testify/require" - "os" - "testing" -) - -func treeTestPayload() treestorage.TreeStorageCreatePayload { - rootRawChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("some"), Id: "someRootId"} - otherChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("some other"), Id: "otherId"} - changes := []*treechangeproto.RawTreeChangeWithId{rootRawChange, otherChange} - return treestorage.TreeStorageCreatePayload{ - RootRawChange: rootRawChange, - Changes: changes, - Heads: []string{rootRawChange.Id}, - } -} - -type fixture struct { - dir string - db *badger.DB -} - -func testTreePayload(t *testing.T, store treestorage.TreeStorage, payload treestorage.TreeStorageCreatePayload) { - require.Equal(t, payload.RootRawChange.Id, store.Id()) - - root, err := store.Root() - require.NoError(t, err) - require.Equal(t, root, payload.RootRawChange) - - heads, err := store.Heads() - require.NoError(t, err) - require.Equal(t, payload.Heads, heads) - - for _, ch := range payload.Changes { - dbCh, err := store.GetRawChange(context.Background(), ch.Id) - require.NoError(t, err) - require.Equal(t, ch, dbCh) - } - return -} - -func newFixture(t *testing.T) *fixture { - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - return &fixture{dir: dir} -} - -func (fx *fixture) open(t *testing.T) { - var err error - fx.db, err = badger.Open(badger.DefaultOptions(fx.dir)) - require.NoError(t, err) -} - -func (fx *fixture) stop(t *testing.T) { - require.NoError(t, fx.db.Close()) -} - -func (fx *fixture) testNoKeysExist(t *testing.T, spaceId, treeId string) { - treeKeys := newTreeKeys(spaceId, treeId) - - var keys [][]byte - err := fx.db.View(func(txn *badger.Txn) error { - opts := badger.DefaultIteratorOptions - opts.PrefetchValues = false - opts.Prefix = treeKeys.RawChangePrefix() - - it := txn.NewIterator(opts) - defer it.Close() - - for it.Rewind(); it.Valid(); it.Next() { - item := it.Item() - key := item.Key() - keyCopy := make([]byte, 0, len(key)) - keyCopy = item.KeyCopy(key) - keys = append(keys, keyCopy) - } - return nil - }) - - require.NoError(t, err) - require.Equal(t, 0, len(keys)) - - err = fx.db.View(func(txn *badger.Txn) error { - _, err = getTxn(txn, treeKeys.RootIdKey()) - require.Equal(t, err, badger.ErrKeyNotFound) - - _, err = getTxn(txn, treeKeys.HeadsKey()) - require.Equal(t, err, badger.ErrKeyNotFound) - - return nil - }) -} - -func TestTreeStorage_Create(t *testing.T) { - fx := newFixture(t) - fx.open(t) - defer fx.stop(t) - - spaceId := "spaceId" - payload := treeTestPayload() - store, err := createTreeStorage(fx.db, spaceId, payload) - require.NoError(t, err) - testTreePayload(t, store, payload) - - t.Run("create same storage returns error", func(t *testing.T) { - _, err := createTreeStorage(fx.db, spaceId, payload) - require.Error(t, err) - }) -} - -func TestTreeStorage_Methods(t *testing.T) { - fx := newFixture(t) - fx.open(t) - payload := treeTestPayload() - spaceId := "spaceId" - _, err := createTreeStorage(fx.db, spaceId, payload) - require.NoError(t, err) - fx.stop(t) - - fx.open(t) - defer fx.stop(t) - store, err := newTreeStorage(fx.db, spaceId, payload.RootRawChange.Id) - require.NoError(t, err) - testTreePayload(t, store, payload) - - t.Run("update heads", func(t *testing.T) { - newHeads := []string{"a", "b"} - require.NoError(t, store.SetHeads(newHeads)) - heads, err := store.Heads() - require.NoError(t, err) - require.Equal(t, newHeads, heads) - }) - - t.Run("add raw change, get change and has change", func(t *testing.T) { - newChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("ab"), Id: "newId"} - require.NoError(t, store.AddRawChange(newChange)) - rawCh, err := store.GetRawChange(context.Background(), newChange.Id) - require.NoError(t, err) - require.Equal(t, newChange, rawCh) - has, err := store.HasChange(context.Background(), newChange.Id) - require.NoError(t, err) - require.True(t, has) - }) - - t.Run("get and has for unknown change", func(t *testing.T) { - incorrectId := "incorrectId" - _, err := store.GetRawChange(context.Background(), incorrectId) - require.Error(t, err) - has, err := store.HasChange(context.Background(), incorrectId) - require.NoError(t, err) - require.False(t, has) - }) -} - -func TestTreeStorage_Delete(t *testing.T) { - fx := newFixture(t) - fx.open(t) - payload := treeTestPayload() - spaceId := "spaceId" - _, err := createTreeStorage(fx.db, spaceId, payload) - require.NoError(t, err) - fx.stop(t) - - fx.open(t) - defer fx.stop(t) - store, err := newTreeStorage(fx.db, spaceId, payload.RootRawChange.Id) - require.NoError(t, err) - testTreePayload(t, store, payload) - - t.Run("add raw change, get change and has change", func(t *testing.T) { - newChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("ab"), Id: "newId"} - require.NoError(t, store.AddRawChange(newChange)) - - err = store.Delete() - require.NoError(t, err) - - _, err = newTreeStorage(fx.db, spaceId, payload.RootRawChange.Id) - require.Equal(t, err, treestorage.ErrUnknownTreeId) - - fx.testNoKeysExist(t, spaceId, payload.RootRawChange.Id) - }) -} diff --git a/common/Makefile b/common/Makefile deleted file mode 100644 index 6383b63a..00000000 --- a/common/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -.PHONY: proto test -export GOPRIVATE=github.com/anytypeio - -proto: - @echo 'Generating protobuf packages (Go)...' - - @$(eval GOGO_START := GOGO_NO_UNDERSCORE=1 GOGO_EXPORT_ONEOF_INTERFACE=1) - @$(eval P_ACL_RECORDS_PATH_PB := commonspace/object/acl/aclrecordproto) - @$(eval P_TREE_CHANGES_PATH_PB := commonspace/object/tree/treechangeproto) - @$(eval P_ACL_RECORDS := M$(P_ACL_RECORDS_PATH_PB)/protos/aclrecord.proto=github.com/anytypeio/go-anytype-infrastructure-experiments/common/$(P_ACL_RECORDS_PATH_PB)) - @$(eval P_TREE_CHANGES := M$(P_TREE_CHANGES_PATH_PB)/protos/treechange.proto=github.com/anytypeio/go-anytype-infrastructure-experiments/common/$(P_TREE_CHANGES_PATH_PB)) - - $(GOGO_START) protoc --gogofaster_out=:. $(P_ACL_RECORDS_PATH_PB)/protos/*.proto - $(GOGO_START) protoc --gogofaster_out=:. $(P_TREE_CHANGES_PATH_PB)/protos/*.proto - $(eval PKGMAP := $$(P_TREE_CHANGES),$$(P_ACL_RECORDS)) - $(GOGO_START) protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. commonspace/spacesyncproto/protos/*.proto - $(GOGO_START) protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. commonfile/fileproto/protos/*.proto - -test: - go test ./... --cover \ No newline at end of file diff --git a/common/commonspace/object/tree/synctree/updatelistener/updatelistener.go b/common/commonspace/object/tree/synctree/updatelistener/updatelistener.go deleted file mode 100644 index cee10947..00000000 --- a/common/commonspace/object/tree/synctree/updatelistener/updatelistener.go +++ /dev/null @@ -1,11 +0,0 @@ -//go:generate mockgen -destination mock_updatelistener/mock_updatelistener.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener UpdateListener -package updatelistener - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" -) - -type UpdateListener interface { - Update(tree objecttree.ObjectTree) - Rebuild(tree objecttree.ObjectTree) -} diff --git a/common/commonfile/fileblockstore/fileblockstore.go b/commonfile/fileblockstore/fileblockstore.go similarity index 86% rename from common/commonfile/fileblockstore/fileblockstore.go rename to commonfile/fileblockstore/fileblockstore.go index fc974f0a..3f2e33af 100644 --- a/common/commonfile/fileblockstore/fileblockstore.go +++ b/commonfile/fileblockstore/fileblockstore.go @@ -2,8 +2,8 @@ package fileblockstore import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto/fileprotoerr" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonfile/fileproto/fileprotoerr" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" ) diff --git a/common/commonfile/fileproto/file.pb.go b/commonfile/fileproto/file.pb.go similarity index 100% rename from common/commonfile/fileproto/file.pb.go rename to commonfile/fileproto/file.pb.go diff --git a/common/commonfile/fileproto/file_drpc.pb.go b/commonfile/fileproto/file_drpc.pb.go similarity index 100% rename from common/commonfile/fileproto/file_drpc.pb.go rename to commonfile/fileproto/file_drpc.pb.go diff --git a/common/commonfile/fileproto/fileprotoerr/fileprotoerr.go b/commonfile/fileproto/fileprotoerr/fileprotoerr.go similarity index 65% rename from common/commonfile/fileproto/fileprotoerr/fileprotoerr.go rename to commonfile/fileproto/fileprotoerr/fileprotoerr.go index 90b4fd82..fc7dbb4e 100644 --- a/common/commonfile/fileproto/fileprotoerr/fileprotoerr.go +++ b/commonfile/fileproto/fileprotoerr/fileprotoerr.go @@ -2,8 +2,8 @@ package fileprotoerr import ( "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpcerr" + "github.com/anytypeio/any-sync/commonfile/fileproto" + "github.com/anytypeio/any-sync/net/rpc/rpcerr" ) var ( diff --git a/common/commonfile/fileproto/protos/file.proto b/commonfile/fileproto/protos/file.proto similarity index 100% rename from common/commonfile/fileproto/protos/file.proto rename to commonfile/fileproto/protos/file.proto diff --git a/common/commonfile/fileservice/blockservice.go b/commonfile/fileservice/blockservice.go similarity index 92% rename from common/commonfile/fileservice/blockservice.go rename to commonfile/fileservice/blockservice.go index df2e0603..b80cccc9 100644 --- a/common/commonfile/fileservice/blockservice.go +++ b/commonfile/fileservice/blockservice.go @@ -2,7 +2,7 @@ package fileservice import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" + "github.com/anytypeio/any-sync/commonfile/fileblockstore" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-blockservice" "github.com/ipfs/go-cid" diff --git a/common/commonfile/fileservice/fileservice.go b/commonfile/fileservice/fileservice.go similarity index 89% rename from common/commonfile/fileservice/fileservice.go rename to commonfile/fileservice/fileservice.go index 30236d5e..0202fb02 100644 --- a/common/commonfile/fileservice/fileservice.go +++ b/commonfile/fileservice/fileservice.go @@ -3,9 +3,9 @@ package fileservice import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonfile/fileblockstore" "github.com/ipfs/go-cid" chunker "github.com/ipfs/go-ipfs-chunker" ipld "github.com/ipfs/go-ipld-format" diff --git a/common/commonspace/commongetter.go b/commonspace/commongetter.go similarity index 69% rename from common/commonspace/commongetter.go rename to commonspace/commongetter.go index a7bcb2c5..dd374d8b 100644 --- a/common/commonspace/commongetter.go +++ b/commonspace/commongetter.go @@ -2,10 +2,10 @@ package commonspace import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/syncacl" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/syncobjectgetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings" + "github.com/anytypeio/any-sync/commonspace/object/acl/syncacl" + "github.com/anytypeio/any-sync/commonspace/object/syncobjectgetter" + "github.com/anytypeio/any-sync/commonspace/object/treegetter" + "github.com/anytypeio/any-sync/commonspace/settings" ) type commonSpaceGetter struct { diff --git a/common/commonspace/commonstorage.go b/commonspace/commonstorage.go similarity index 75% rename from common/commonspace/commonstorage.go rename to commonspace/commonstorage.go index aaa3f22b..54ba581b 100644 --- a/common/commonspace/commonstorage.go +++ b/commonspace/commonstorage.go @@ -1,8 +1,8 @@ package commonspace import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/commonspace/spacestorage" ) type commonStorage struct { diff --git a/common/commonspace/confconnector/confconnector.go b/commonspace/confconnector/confconnector.go similarity index 86% rename from common/commonspace/confconnector/confconnector.go rename to commonspace/confconnector/confconnector.go index 7c736916..0a259c90 100644 --- a/common/commonspace/confconnector/confconnector.go +++ b/commonspace/confconnector/confconnector.go @@ -1,11 +1,11 @@ -//go:generate mockgen -destination mock_confconnector/mock_confconnector.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector ConfConnector +//go:generate mockgen -destination mock_confconnector/mock_confconnector.go github.com/anytypeio/any-sync/commonspace/confconnector ConfConnector package confconnector import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/pool" + "github.com/anytypeio/any-sync/nodeconf" "golang.org/x/exp/slices" ) diff --git a/common/commonspace/confconnector/mock_confconnector/mock_confconnector.go b/commonspace/confconnector/mock_confconnector/mock_confconnector.go similarity index 89% rename from common/commonspace/confconnector/mock_confconnector/mock_confconnector.go rename to commonspace/confconnector/mock_confconnector/mock_confconnector.go index 218e0d53..facacfb3 100644 --- a/common/commonspace/confconnector/mock_confconnector/mock_confconnector.go +++ b/commonspace/confconnector/mock_confconnector/mock_confconnector.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector (interfaces: ConfConnector) +// Source: github.com/anytypeio/any-sync/commonspace/confconnector (interfaces: ConfConnector) // Package mock_confconnector is a generated GoMock package. package mock_confconnector @@ -8,9 +8,9 @@ import ( context "context" reflect "reflect" - peer "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - pool "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - nodeconf "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + peer "github.com/anytypeio/any-sync/net/peer" + pool "github.com/anytypeio/any-sync/net/pool" + nodeconf "github.com/anytypeio/any-sync/nodeconf" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/config.go b/commonspace/config.go similarity index 100% rename from common/commonspace/config.go rename to commonspace/config.go diff --git a/common/commonspace/headsync/diffsyncer.go b/commonspace/headsync/diffsyncer.go similarity index 83% rename from common/commonspace/headsync/diffsyncer.go rename to commonspace/headsync/diffsyncer.go index 5ed36ba0..4cd5ec1a 100644 --- a/common/commonspace/headsync/diffsyncer.go +++ b/commonspace/headsync/diffsyncer.go @@ -2,16 +2,16 @@ package headsync import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpcerr" + "github.com/anytypeio/any-sync/app/ldiff" + "github.com/anytypeio/any-sync/commonspace/confconnector" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree" + "github.com/anytypeio/any-sync/commonspace/object/treegetter" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/rpc/rpcerr" "go.uber.org/zap" "time" ) diff --git a/common/commonspace/headsync/diffsyncer_test.go b/commonspace/headsync/diffsyncer_test.go similarity index 79% rename from common/commonspace/headsync/diffsyncer_test.go rename to commonspace/headsync/diffsyncer_test.go index 0c611b5a..686399b2 100644 --- a/common/commonspace/headsync/diffsyncer_test.go +++ b/commonspace/headsync/diffsyncer_test.go @@ -3,20 +3,20 @@ package headsync import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff/mock_ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector/mock_confconnector" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - mock_treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage/mock_treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter/mock_treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate/mock_deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage/mock_spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto/mock_spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" + "github.com/anytypeio/any-sync/app/ldiff" + "github.com/anytypeio/any-sync/app/ldiff/mock_ldiff" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonspace/confconnector/mock_confconnector" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + mock_treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage/mock_treestorage" + "github.com/anytypeio/any-sync/commonspace/object/treegetter/mock_treegetter" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate/mock_deletionstate" + "github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto/mock_spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/net/peer" "github.com/golang/mock/gomock" "github.com/libp2p/go-libp2p/core/sec" "github.com/stretchr/testify/require" diff --git a/common/commonspace/headsync/headsync.go b/commonspace/headsync/headsync.go similarity index 79% rename from common/commonspace/headsync/headsync.go rename to commonspace/headsync/headsync.go index efe03408..f7f78b6d 100644 --- a/common/commonspace/headsync/headsync.go +++ b/commonspace/headsync/headsync.go @@ -1,16 +1,16 @@ -//go:generate mockgen -destination mock_headsync/mock_headsync.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/headsync DiffSyncer +//go:generate mockgen -destination mock_headsync/mock_headsync.go github.com/anytypeio/any-sync/commonspace/headsync DiffSyncer package headsync import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/periodicsync" + "github.com/anytypeio/any-sync/app/ldiff" + "github.com/anytypeio/any-sync/commonspace/confconnector" + "github.com/anytypeio/any-sync/commonspace/object/treegetter" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/util/periodicsync" "go.uber.org/zap" "strings" "time" diff --git a/common/commonspace/headsync/headsync_test.go b/commonspace/headsync/headsync_test.go similarity index 65% rename from common/commonspace/headsync/headsync_test.go rename to commonspace/headsync/headsync_test.go index 18a35559..bb20dfc3 100644 --- a/common/commonspace/headsync/headsync_test.go +++ b/commonspace/headsync/headsync_test.go @@ -1,14 +1,14 @@ package headsync import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff/mock_ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/headsync/mock_headsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage/mock_treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate/mock_deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage/mock_spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/periodicsync/mock_periodicsync" + "github.com/anytypeio/any-sync/app/ldiff" + "github.com/anytypeio/any-sync/app/ldiff/mock_ldiff" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonspace/headsync/mock_headsync" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage/mock_treestorage" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate/mock_deletionstate" + "github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage" + "github.com/anytypeio/any-sync/util/periodicsync/mock_periodicsync" "github.com/golang/mock/gomock" "testing" ) diff --git a/common/commonspace/headsync/mock_headsync/mock_headsync.go b/commonspace/headsync/mock_headsync/mock_headsync.go similarity index 91% rename from common/commonspace/headsync/mock_headsync/mock_headsync.go rename to commonspace/headsync/mock_headsync/mock_headsync.go index f4cd3eb4..492d2b32 100644 --- a/common/commonspace/headsync/mock_headsync/mock_headsync.go +++ b/commonspace/headsync/mock_headsync/mock_headsync.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/headsync (interfaces: DiffSyncer) +// Source: github.com/anytypeio/any-sync/commonspace/headsync (interfaces: DiffSyncer) // Package mock_headsync is a generated GoMock package. package mock_headsync @@ -8,7 +8,7 @@ import ( context "context" reflect "reflect" - deletionstate "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate" + deletionstate "github.com/anytypeio/any-sync/commonspace/settings/deletionstate" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/headsync/remotediff.go b/commonspace/headsync/remotediff.go similarity index 93% rename from common/commonspace/headsync/remotediff.go rename to commonspace/headsync/remotediff.go index 96b8363f..7877d93e 100644 --- a/common/commonspace/headsync/remotediff.go +++ b/commonspace/headsync/remotediff.go @@ -2,8 +2,8 @@ package headsync import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/app/ldiff" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" ) type Client interface { diff --git a/common/commonspace/headsync/remotediff_test.go b/commonspace/headsync/remotediff_test.go similarity index 82% rename from common/commonspace/headsync/remotediff_test.go rename to commonspace/headsync/remotediff_test.go index 29c07fb4..c5f7203d 100644 --- a/common/commonspace/headsync/remotediff_test.go +++ b/commonspace/headsync/remotediff_test.go @@ -3,8 +3,8 @@ package headsync import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ldiff" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/app/ldiff" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "testing" diff --git a/common/commonspace/object/accountdata/accountdata.go b/commonspace/object/accountdata/accountdata.go similarity index 54% rename from common/commonspace/object/accountdata/accountdata.go rename to commonspace/object/accountdata/accountdata.go index d4a5a363..28ae4a50 100644 --- a/common/commonspace/object/accountdata/accountdata.go +++ b/commonspace/object/accountdata/accountdata.go @@ -1,8 +1,8 @@ package accountdata import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" ) type AccountData struct { // TODO: create a convenient constructor for this diff --git a/common/commonspace/object/acl/aclrecordproto/aclreadkeyderive.go b/commonspace/object/acl/aclrecordproto/aclreadkeyderive.go similarity index 76% rename from common/commonspace/object/acl/aclrecordproto/aclreadkeyderive.go rename to commonspace/object/acl/aclrecordproto/aclreadkeyderive.go index 4baac9a3..fa7b074a 100644 --- a/common/commonspace/object/acl/aclrecordproto/aclreadkeyderive.go +++ b/commonspace/object/acl/aclrecordproto/aclreadkeyderive.go @@ -1,7 +1,7 @@ package aclrecordproto import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" + "github.com/anytypeio/any-sync/util/keys/symmetric" ) func AclReadKeyDerive(signKey []byte, encKey []byte) (*symmetric.Key, error) { diff --git a/common/commonspace/object/acl/aclrecordproto/aclrecord.pb.go b/commonspace/object/acl/aclrecordproto/aclrecord.pb.go similarity index 100% rename from common/commonspace/object/acl/aclrecordproto/aclrecord.pb.go rename to commonspace/object/acl/aclrecordproto/aclrecord.pb.go diff --git a/common/commonspace/object/acl/aclrecordproto/protos/aclrecord.proto b/commonspace/object/acl/aclrecordproto/protos/aclrecord.proto similarity index 100% rename from common/commonspace/object/acl/aclrecordproto/protos/aclrecord.proto rename to commonspace/object/acl/aclrecordproto/protos/aclrecord.proto diff --git a/common/commonspace/object/acl/list/aclrecordbuilder.go b/commonspace/object/acl/list/aclrecordbuilder.go similarity index 90% rename from common/commonspace/object/acl/list/aclrecordbuilder.go rename to commonspace/object/acl/list/aclrecordbuilder.go index ceee382b..c7ba4390 100644 --- a/common/commonspace/object/acl/list/aclrecordbuilder.go +++ b/commonspace/object/acl/list/aclrecordbuilder.go @@ -1,11 +1,11 @@ package list import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/keychain" + "github.com/anytypeio/any-sync/util/cidutil" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/symmetric" "github.com/gogo/protobuf/proto" "time" ) diff --git a/common/commonspace/object/acl/list/aclrecordbuilder_test.go b/commonspace/object/acl/list/aclrecordbuilder_test.go similarity index 72% rename from common/commonspace/object/acl/list/aclrecordbuilder_test.go rename to commonspace/object/acl/list/aclrecordbuilder_test.go index 32e5258b..5afdb2a8 100644 --- a/common/commonspace/object/acl/list/aclrecordbuilder_test.go +++ b/commonspace/object/acl/list/aclrecordbuilder_test.go @@ -1,12 +1,12 @@ package list import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - acllistbuilder2 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/testutils/acllistbuilder" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/commonspace/object/accountdata" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + acllistbuilder2 "github.com/anytypeio/any-sync/commonspace/object/acl/testutils/acllistbuilder" + "github.com/anytypeio/any-sync/commonspace/object/keychain" + "github.com/anytypeio/any-sync/util/cidutil" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" "github.com/stretchr/testify/require" "testing" ) diff --git a/common/commonspace/object/acl/list/aclstate.go b/commonspace/object/acl/list/aclstate.go similarity index 94% rename from common/commonspace/object/acl/list/aclstate.go rename to commonspace/object/acl/list/aclstate.go index c38f0921..54bf3f0d 100644 --- a/common/commonspace/object/acl/list/aclstate.go +++ b/commonspace/object/acl/list/aclstate.go @@ -4,13 +4,13 @@ import ( "bytes" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - aclrecordproto2 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" + "github.com/anytypeio/any-sync/app/logger" + aclrecordproto2 "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/keychain" + "github.com/anytypeio/any-sync/util/keys" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/symmetric" "github.com/gogo/protobuf/proto" "go.uber.org/zap" "hash/fnv" diff --git a/common/commonspace/object/acl/list/aclstatebuilder.go b/commonspace/object/acl/list/aclstatebuilder.go similarity index 78% rename from common/commonspace/object/acl/list/aclstatebuilder.go rename to commonspace/object/acl/list/aclstatebuilder.go index 41603a44..38816685 100644 --- a/common/commonspace/object/acl/list/aclstatebuilder.go +++ b/commonspace/object/acl/list/aclstatebuilder.go @@ -1,9 +1,9 @@ package list import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/commonspace/object/accountdata" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" ) type aclStateBuilder struct { diff --git a/common/commonspace/object/acl/list/list.go b/commonspace/object/acl/list/list.go similarity index 90% rename from common/commonspace/object/acl/list/list.go rename to commonspace/object/acl/list/list.go index cc452a51..e8d074a3 100644 --- a/common/commonspace/object/acl/list/list.go +++ b/commonspace/object/acl/list/list.go @@ -1,14 +1,14 @@ -//go:generate mockgen -destination mock_list/mock_list.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list AclList +//go:generate mockgen -destination mock_list/mock_list.go github.com/anytypeio/any-sync/commonspace/object/acl/list AclList package list import ( "context" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" + "github.com/anytypeio/any-sync/commonspace/object/accountdata" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/liststorage" + "github.com/anytypeio/any-sync/commonspace/object/keychain" "sync" ) diff --git a/common/commonspace/object/acl/list/list_test.go b/commonspace/object/acl/list/list_test.go similarity index 93% rename from common/commonspace/object/acl/list/list_test.go rename to commonspace/object/acl/list/list_test.go index da50db03..a5b7bd5c 100644 --- a/common/commonspace/object/acl/list/list_test.go +++ b/commonspace/object/acl/list/list_test.go @@ -1,8 +1,8 @@ package list import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/testutils/acllistbuilder" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/testutils/acllistbuilder" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "testing" diff --git a/common/commonspace/object/acl/list/mock_list/mock_list.go b/commonspace/object/acl/list/mock_list/mock_list.go similarity index 95% rename from common/commonspace/object/acl/list/mock_list/mock_list.go rename to commonspace/object/acl/list/mock_list/mock_list.go index f843217e..378792fe 100644 --- a/common/commonspace/object/acl/list/mock_list/mock_list.go +++ b/commonspace/object/acl/list/mock_list/mock_list.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list (interfaces: AclList) +// Source: github.com/anytypeio/any-sync/commonspace/object/acl/list (interfaces: AclList) // Package mock_list is a generated GoMock package. package mock_list @@ -7,8 +7,8 @@ package mock_list import ( reflect "reflect" - aclrecordproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - list "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" + aclrecordproto "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + list "github.com/anytypeio/any-sync/commonspace/object/acl/list" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/object/acl/list/record.go b/commonspace/object/acl/list/record.go similarity index 100% rename from common/commonspace/object/acl/list/record.go rename to commonspace/object/acl/list/record.go diff --git a/common/commonspace/object/acl/liststorage/inmemory.go b/commonspace/object/acl/liststorage/inmemory.go similarity index 93% rename from common/commonspace/object/acl/liststorage/inmemory.go rename to commonspace/object/acl/liststorage/inmemory.go index ab896479..848745cb 100644 --- a/common/commonspace/object/acl/liststorage/inmemory.go +++ b/commonspace/object/acl/liststorage/inmemory.go @@ -3,7 +3,7 @@ package liststorage import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" "sync" ) diff --git a/common/commonspace/object/acl/liststorage/liststorage.go b/commonspace/object/acl/liststorage/liststorage.go similarity index 72% rename from common/commonspace/object/acl/liststorage/liststorage.go rename to commonspace/object/acl/liststorage/liststorage.go index 59ea13c1..673c31d5 100644 --- a/common/commonspace/object/acl/liststorage/liststorage.go +++ b/commonspace/object/acl/liststorage/liststorage.go @@ -1,10 +1,10 @@ -//go:generate mockgen -destination mock_liststorage/mock_liststorage.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage ListStorage +//go:generate mockgen -destination mock_liststorage/mock_liststorage.go github.com/anytypeio/any-sync/commonspace/object/acl/liststorage ListStorage package liststorage import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" ) var ( diff --git a/common/commonspace/object/acl/liststorage/mock_liststorage/mock_liststorage.go b/commonspace/object/acl/liststorage/mock_liststorage/mock_liststorage.go similarity index 93% rename from common/commonspace/object/acl/liststorage/mock_liststorage/mock_liststorage.go rename to commonspace/object/acl/liststorage/mock_liststorage/mock_liststorage.go index 214ad01c..e2e311d9 100644 --- a/common/commonspace/object/acl/liststorage/mock_liststorage/mock_liststorage.go +++ b/commonspace/object/acl/liststorage/mock_liststorage/mock_liststorage.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage (interfaces: ListStorage) +// Source: github.com/anytypeio/any-sync/commonspace/object/acl/liststorage (interfaces: ListStorage) // Package mock_liststorage is a generated GoMock package. package mock_liststorage @@ -8,7 +8,7 @@ import ( context "context" reflect "reflect" - aclrecordproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" + aclrecordproto "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/object/acl/syncacl/syncacl.go b/commonspace/object/acl/syncacl/syncacl.go similarity index 50% rename from common/commonspace/object/acl/syncacl/syncacl.go rename to commonspace/object/acl/syncacl/syncacl.go index 89e17871..2a29cd0c 100644 --- a/common/commonspace/object/acl/syncacl/syncacl.go +++ b/commonspace/object/acl/syncacl/syncacl.go @@ -1,9 +1,9 @@ package syncacl import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync/synchandler" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/objectsync" + "github.com/anytypeio/any-sync/commonspace/objectsync/synchandler" ) type SyncAcl struct { diff --git a/common/commonspace/object/acl/syncacl/syncaclhandler.go b/commonspace/object/acl/syncacl/syncaclhandler.go similarity index 70% rename from common/commonspace/object/acl/syncacl/syncaclhandler.go rename to commonspace/object/acl/syncacl/syncaclhandler.go index 13c31bd8..124dda31 100644 --- a/common/commonspace/object/acl/syncacl/syncaclhandler.go +++ b/commonspace/object/acl/syncacl/syncaclhandler.go @@ -3,9 +3,9 @@ package syncacl import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" ) type syncAclHandler struct { diff --git a/common/commonspace/object/acl/testutils/acllistbuilder/keychain.go b/commonspace/object/acl/testutils/acllistbuilder/keychain.go similarity index 89% rename from common/commonspace/object/acl/testutils/acllistbuilder/keychain.go rename to commonspace/object/acl/testutils/acllistbuilder/keychain.go index dd513509..df93f75b 100644 --- a/common/commonspace/object/acl/testutils/acllistbuilder/keychain.go +++ b/commonspace/object/acl/testutils/acllistbuilder/keychain.go @@ -1,11 +1,11 @@ package acllistbuilder import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/util/keys" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/symmetric" "hash/fnv" "strings" ) diff --git a/common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuilder.go b/commonspace/object/acl/testutils/acllistbuilder/liststoragebuilder.go similarity index 92% rename from common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuilder.go rename to commonspace/object/acl/testutils/acllistbuilder/liststoragebuilder.go index 083867f0..ac268df5 100644 --- a/common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuilder.go +++ b/commonspace/object/acl/testutils/acllistbuilder/liststoragebuilder.go @@ -3,19 +3,19 @@ package acllistbuilder import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/testutils/yamltests" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/liststorage" + "github.com/anytypeio/any-sync/commonspace/object/acl/testutils/yamltests" + "github.com/anytypeio/any-sync/util/cidutil" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/symmetric" + "gopkg.in/yaml.v3" "io/ioutil" "path" "time" "github.com/gogo/protobuf/proto" - "gopkg.in/yaml.v3" ) type AclListStorageBuilder struct { diff --git a/common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph.go b/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph.go similarity index 100% rename from common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph.go rename to commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph.go diff --git a/common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph_nix.go b/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph_nix.go similarity index 95% rename from common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph_nix.go rename to commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph_nix.go index 81505e7f..279744c8 100644 --- a/common/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph_nix.go +++ b/commonspace/object/acl/testutils/acllistbuilder/liststoragebuildergraph_nix.go @@ -9,7 +9,7 @@ package acllistbuilder import ( "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" "github.com/gogo/protobuf/proto" "strings" "unicode" diff --git a/common/commonspace/object/acl/testutils/acllistbuilder/ymlentities.go b/commonspace/object/acl/testutils/acllistbuilder/ymlentities.go similarity index 100% rename from common/commonspace/object/acl/testutils/acllistbuilder/ymlentities.go rename to commonspace/object/acl/testutils/acllistbuilder/ymlentities.go diff --git a/common/commonspace/object/acl/testutils/yamltests/path.go b/commonspace/object/acl/testutils/yamltests/path.go similarity index 100% rename from common/commonspace/object/acl/testutils/yamltests/path.go rename to commonspace/object/acl/testutils/yamltests/path.go diff --git a/common/commonspace/object/acl/testutils/yamltests/userjoinexample.yml b/commonspace/object/acl/testutils/yamltests/userjoinexample.yml similarity index 100% rename from common/commonspace/object/acl/testutils/yamltests/userjoinexample.yml rename to commonspace/object/acl/testutils/yamltests/userjoinexample.yml diff --git a/common/commonspace/object/acl/testutils/yamltests/userremoveexample.yml b/commonspace/object/acl/testutils/yamltests/userremoveexample.yml similarity index 100% rename from common/commonspace/object/acl/testutils/yamltests/userremoveexample.yml rename to commonspace/object/acl/testutils/yamltests/userremoveexample.yml diff --git a/common/commonspace/object/keychain/keychain.go b/commonspace/object/keychain/keychain.go similarity index 83% rename from common/commonspace/object/keychain/keychain.go rename to commonspace/object/keychain/keychain.go index 19b9f3c1..0cf7ad7b 100644 --- a/common/commonspace/object/keychain/keychain.go +++ b/commonspace/object/keychain/keychain.go @@ -1,7 +1,7 @@ package keychain import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" ) type Keychain struct { diff --git a/common/commonspace/object/syncobjectgetter/syncobjectgetter.go b/commonspace/object/syncobjectgetter/syncobjectgetter.go similarity index 66% rename from common/commonspace/object/syncobjectgetter/syncobjectgetter.go rename to commonspace/object/syncobjectgetter/syncobjectgetter.go index 2032b190..182d1fca 100644 --- a/common/commonspace/object/syncobjectgetter/syncobjectgetter.go +++ b/commonspace/object/syncobjectgetter/syncobjectgetter.go @@ -2,7 +2,7 @@ package syncobjectgetter import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync/synchandler" + "github.com/anytypeio/any-sync/commonspace/objectsync/synchandler" ) type SyncObject interface { diff --git a/common/commonspace/object/tree/objecttree/change.go b/commonspace/object/tree/objecttree/change.go similarity index 92% rename from common/commonspace/object/tree/objecttree/change.go rename to commonspace/object/tree/objecttree/change.go index 5b115a0f..9b31e66b 100644 --- a/common/commonspace/object/tree/objecttree/change.go +++ b/commonspace/object/tree/objecttree/change.go @@ -2,7 +2,7 @@ package objecttree import ( "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" ) var ( diff --git a/common/commonspace/object/tree/objecttree/changebuilder.go b/commonspace/object/tree/objecttree/changebuilder.go similarity index 92% rename from common/commonspace/object/tree/objecttree/changebuilder.go rename to commonspace/object/tree/objecttree/changebuilder.go index 56d98d94..bd53c293 100644 --- a/common/commonspace/object/tree/objecttree/changebuilder.go +++ b/commonspace/object/tree/objecttree/changebuilder.go @@ -2,11 +2,11 @@ package objecttree import ( "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" + "github.com/anytypeio/any-sync/commonspace/object/keychain" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/util/cidutil" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/symmetric" "github.com/gogo/protobuf/proto" "time" ) diff --git a/common/commonspace/object/tree/objecttree/changevalidator.go b/commonspace/object/tree/objecttree/changevalidator.go similarity index 90% rename from common/commonspace/object/tree/objecttree/changevalidator.go rename to commonspace/object/tree/objecttree/changevalidator.go index f3d59fa6..12a0f4a4 100644 --- a/common/commonspace/object/tree/objecttree/changevalidator.go +++ b/commonspace/object/tree/objecttree/changevalidator.go @@ -2,8 +2,8 @@ package objecttree import ( "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" ) type ObjectTreeValidator interface { diff --git a/common/commonspace/object/tree/objecttree/descriptionparser.go b/commonspace/object/tree/objecttree/descriptionparser.go similarity index 100% rename from common/commonspace/object/tree/objecttree/descriptionparser.go rename to commonspace/object/tree/objecttree/descriptionparser.go diff --git a/common/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go b/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go similarity index 95% rename from common/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go rename to commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go index d54ad8b6..0af84819 100644 --- a/common/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go +++ b/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree (interfaces: ObjectTree) +// Source: github.com/anytypeio/any-sync/commonspace/object/tree/objecttree (interfaces: ObjectTree) // Package mock_objecttree is a generated GoMock package. package mock_objecttree @@ -8,9 +8,9 @@ import ( context "context" reflect "reflect" - objecttree "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - treechangeproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" + objecttree "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + treechangeproto "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/object/tree/objecttree/objecttree.go b/commonspace/object/tree/objecttree/objecttree.go similarity index 95% rename from common/commonspace/object/tree/objecttree/objecttree.go rename to commonspace/object/tree/objecttree/objecttree.go index 81e311f3..7e14fcfc 100644 --- a/common/commonspace/object/tree/objecttree/objecttree.go +++ b/commonspace/object/tree/objecttree/objecttree.go @@ -1,16 +1,16 @@ -//go:generate mockgen -destination mock_objecttree/mock_objecttree.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree ObjectTree +//go:generate mockgen -destination mock_objecttree/mock_objecttree.go github.com/anytypeio/any-sync/commonspace/object/tree/objecttree ObjectTree package objecttree import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - list2 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + list2 "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/object/keychain" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/util/keys/symmetric" + "github.com/anytypeio/any-sync/util/slice" "sync" ) diff --git a/common/commonspace/object/tree/objecttree/objecttree_test.go b/commonspace/object/tree/objecttree/objecttree_test.go similarity index 97% rename from common/commonspace/object/tree/objecttree/objecttree_test.go rename to commonspace/object/tree/objecttree/objecttree_test.go index 4e15ca10..13956e2c 100644 --- a/common/commonspace/object/tree/objecttree/objecttree_test.go +++ b/commonspace/object/tree/objecttree/objecttree_test.go @@ -2,10 +2,10 @@ package objecttree import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/testutils/acllistbuilder" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/object/acl/testutils/acllistbuilder" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "testing" diff --git a/common/commonspace/object/tree/objecttree/objecttreefactory.go b/commonspace/object/tree/objecttree/objecttreefactory.go similarity index 86% rename from common/commonspace/object/tree/objecttree/objecttreefactory.go rename to commonspace/object/tree/objecttree/objecttreefactory.go index 12890cf7..ed34a91a 100644 --- a/common/commonspace/object/tree/objecttree/objecttreefactory.go +++ b/commonspace/object/tree/objecttree/objecttreefactory.go @@ -1,13 +1,13 @@ package objecttree import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/symmetric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/object/keychain" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/symmetric" + "github.com/anytypeio/any-sync/util/slice" "go.uber.org/zap" "math/rand" "time" diff --git a/common/commonspace/object/tree/objecttree/rawloader.go b/commonspace/object/tree/objecttree/rawloader.go similarity index 94% rename from common/commonspace/object/tree/objecttree/rawloader.go rename to commonspace/object/tree/objecttree/rawloader.go index 5125df99..970f03a5 100644 --- a/common/commonspace/object/tree/objecttree/rawloader.go +++ b/commonspace/object/tree/objecttree/rawloader.go @@ -2,9 +2,9 @@ package objecttree import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/util/slice" "time" ) diff --git a/common/commonspace/object/tree/objecttree/rawtreevalidator.go b/commonspace/object/tree/objecttree/rawtreevalidator.go similarity index 62% rename from common/commonspace/object/tree/objecttree/rawtreevalidator.go rename to commonspace/object/tree/objecttree/rawtreevalidator.go index 693fa642..72673e10 100644 --- a/common/commonspace/object/tree/objecttree/rawtreevalidator.go +++ b/commonspace/object/tree/objecttree/rawtreevalidator.go @@ -1,8 +1,8 @@ package objecttree import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" ) func ValidateRawTree(payload treestorage.TreeStorageCreatePayload, aclList list.AclList) (err error) { diff --git a/common/commonspace/object/tree/objecttree/signablecontent.go b/commonspace/object/tree/objecttree/signablecontent.go similarity index 63% rename from common/commonspace/object/tree/objecttree/signablecontent.go rename to commonspace/object/tree/objecttree/signablecontent.go index 16138e85..0d30cb25 100644 --- a/common/commonspace/object/tree/objecttree/signablecontent.go +++ b/commonspace/object/tree/objecttree/signablecontent.go @@ -1,7 +1,7 @@ package objecttree import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" ) type SignableChangeContent struct { diff --git a/common/commonspace/object/tree/objecttree/tree.go b/commonspace/object/tree/objecttree/tree.go similarity index 100% rename from common/commonspace/object/tree/objecttree/tree.go rename to commonspace/object/tree/objecttree/tree.go diff --git a/common/commonspace/object/tree/objecttree/tree_test.go b/commonspace/object/tree/objecttree/tree_test.go similarity index 100% rename from common/commonspace/object/tree/objecttree/tree_test.go rename to commonspace/object/tree/objecttree/tree_test.go diff --git a/common/commonspace/object/tree/objecttree/treebuilder.go b/commonspace/object/tree/objecttree/treebuilder.go similarity index 96% rename from common/commonspace/object/tree/objecttree/treebuilder.go rename to commonspace/object/tree/objecttree/treebuilder.go index d863a9f2..e82952b0 100644 --- a/common/commonspace/object/tree/objecttree/treebuilder.go +++ b/commonspace/object/tree/objecttree/treebuilder.go @@ -4,9 +4,9 @@ import ( "context" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/util/slice" "go.uber.org/zap" "time" ) diff --git a/common/commonspace/object/tree/objecttree/treegraph.go b/commonspace/object/tree/objecttree/treegraph.go similarity index 100% rename from common/commonspace/object/tree/objecttree/treegraph.go rename to commonspace/object/tree/objecttree/treegraph.go diff --git a/common/commonspace/object/tree/objecttree/treegraph_nix.go b/commonspace/object/tree/objecttree/treegraph_nix.go similarity index 100% rename from common/commonspace/object/tree/objecttree/treegraph_nix.go rename to commonspace/object/tree/objecttree/treegraph_nix.go diff --git a/common/commonspace/object/tree/objecttree/treeiterator.go b/commonspace/object/tree/objecttree/treeiterator.go similarity index 100% rename from common/commonspace/object/tree/objecttree/treeiterator.go rename to commonspace/object/tree/objecttree/treeiterator.go diff --git a/common/commonspace/object/tree/objecttree/treereduce.go b/commonspace/object/tree/objecttree/treereduce.go similarity index 100% rename from common/commonspace/object/tree/objecttree/treereduce.go rename to commonspace/object/tree/objecttree/treereduce.go diff --git a/common/commonspace/object/tree/objecttree/util.go b/commonspace/object/tree/objecttree/util.go similarity index 100% rename from common/commonspace/object/tree/objecttree/util.go rename to commonspace/object/tree/objecttree/util.go diff --git a/common/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go b/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go similarity index 96% rename from common/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go rename to commonspace/object/tree/synctree/mock_synctree/mock_synctree.go index 52b584e4..61c3cfb7 100644 --- a/common/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go +++ b/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree (interfaces: SyncClient,SyncTree,ReceiveQueue,HeadNotifiable) +// Source: github.com/anytypeio/any-sync/commonspace/object/tree/synctree (interfaces: SyncClient,SyncTree,ReceiveQueue,HeadNotifiable) // Package mock_synctree is a generated GoMock package. package mock_synctree @@ -8,10 +8,10 @@ import ( context "context" reflect "reflect" - objecttree "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - treechangeproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - spacesyncproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + objecttree "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + treechangeproto "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + spacesyncproto "github.com/anytypeio/any-sync/commonspace/spacesyncproto" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/object/tree/synctree/queuedclient.go b/commonspace/object/tree/synctree/queuedclient.go similarity index 81% rename from common/commonspace/object/tree/synctree/queuedclient.go rename to commonspace/object/tree/synctree/queuedclient.go index 29f791c6..5af9d95e 100644 --- a/common/commonspace/object/tree/synctree/queuedclient.go +++ b/commonspace/object/tree/synctree/queuedclient.go @@ -1,8 +1,8 @@ package synctree import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/objectsync" ) type queuedClient struct { diff --git a/common/commonspace/object/tree/synctree/receivequeue.go b/commonspace/object/tree/synctree/receivequeue.go similarity index 93% rename from common/commonspace/object/tree/synctree/receivequeue.go rename to commonspace/object/tree/synctree/receivequeue.go index 83601041..bed126dd 100644 --- a/common/commonspace/object/tree/synctree/receivequeue.go +++ b/commonspace/object/tree/synctree/receivequeue.go @@ -2,7 +2,7 @@ package synctree import ( "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" "sync" ) diff --git a/common/commonspace/object/tree/synctree/requestfactory.go b/commonspace/object/tree/synctree/requestfactory.go similarity index 89% rename from common/commonspace/object/tree/synctree/requestfactory.go rename to commonspace/object/tree/synctree/requestfactory.go index 38f218cb..6fc5202c 100644 --- a/common/commonspace/object/tree/synctree/requestfactory.go +++ b/commonspace/object/tree/synctree/requestfactory.go @@ -2,9 +2,9 @@ package synctree import ( "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/util/slice" ) type RequestFactory interface { diff --git a/common/commonspace/object/tree/synctree/syncclient.go b/commonspace/object/tree/synctree/syncclient.go similarity index 78% rename from common/commonspace/object/tree/synctree/syncclient.go rename to commonspace/object/tree/synctree/syncclient.go index 020918c0..a610e2b5 100644 --- a/common/commonspace/object/tree/synctree/syncclient.go +++ b/commonspace/object/tree/synctree/syncclient.go @@ -1,12 +1,12 @@ -//go:generate mockgen -destination mock_synctree/mock_synctree.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree SyncClient,SyncTree,ReceiveQueue,HeadNotifiable +//go:generate mockgen -destination mock_synctree/mock_synctree.go github.com/anytypeio/any-sync/commonspace/object/tree/synctree SyncClient,SyncTree,ReceiveQueue,HeadNotifiable package synctree import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + "github.com/anytypeio/any-sync/commonspace/confconnector" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/objectsync" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/nodeconf" ) type SyncClient interface { diff --git a/common/commonspace/object/tree/synctree/synctree.go b/commonspace/object/tree/synctree/synctree.go similarity index 86% rename from common/commonspace/object/tree/synctree/synctree.go rename to commonspace/object/tree/synctree/synctree.go index fc835427..8279cb93 100644 --- a/common/commonspace/object/tree/synctree/synctree.go +++ b/commonspace/object/tree/synctree/synctree.go @@ -4,18 +4,18 @@ import ( "context" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync/synchandler" - spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/commonspace/objectsync" + "github.com/anytypeio/any-sync/commonspace/objectsync/synchandler" + spacestorage "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/nodeconf" "github.com/gogo/protobuf/proto" "go.uber.org/zap" "sync/atomic" diff --git a/common/commonspace/object/tree/synctree/synctree_test.go b/commonspace/object/tree/synctree/synctree_test.go similarity index 80% rename from common/commonspace/object/tree/synctree/synctree_test.go rename to commonspace/object/tree/synctree/synctree_test.go index a393da26..09d27d25 100644 --- a/common/commonspace/object/tree/synctree/synctree_test.go +++ b/commonspace/object/tree/synctree/synctree_test.go @@ -2,15 +2,15 @@ package synctree import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree/mock_objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/mock_synctree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener/mock_updatelistener" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree/mock_objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/mock_synctree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener/mock_updatelistener" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/objectsync" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/nodeconf" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" "testing" diff --git a/common/commonspace/object/tree/synctree/synctreehandler.go b/commonspace/object/tree/synctree/synctreehandler.go similarity index 90% rename from common/commonspace/object/tree/synctree/synctreehandler.go rename to commonspace/object/tree/synctree/synctreehandler.go index b66ba45f..1bfa7b34 100644 --- a/common/commonspace/object/tree/synctree/synctreehandler.go +++ b/commonspace/object/tree/synctree/synctreehandler.go @@ -2,12 +2,12 @@ package synctree import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync/synchandler" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/objectsync/synchandler" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/util/slice" "github.com/gogo/protobuf/proto" "go.uber.org/zap" "sync" diff --git a/common/commonspace/object/tree/synctree/synctreehandler_test.go b/commonspace/object/tree/synctree/synctreehandler_test.go similarity index 96% rename from common/commonspace/object/tree/synctree/synctreehandler_test.go rename to commonspace/object/tree/synctree/synctreehandler_test.go index 1781b09a..061adc0a 100644 --- a/common/commonspace/object/tree/synctree/synctreehandler_test.go +++ b/commonspace/object/tree/synctree/synctreehandler_test.go @@ -3,11 +3,11 @@ package synctree import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree/mock_objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/mock_synctree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree/mock_objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/mock_synctree" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/syncstatus" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" "go.uber.org/zap" diff --git a/common/commonspace/object/tree/synctree/updatelistener/mock_updatelistener/mock_updatelistener.go b/commonspace/object/tree/synctree/updatelistener/mock_updatelistener/mock_updatelistener.go similarity index 87% rename from common/commonspace/object/tree/synctree/updatelistener/mock_updatelistener/mock_updatelistener.go rename to commonspace/object/tree/synctree/updatelistener/mock_updatelistener/mock_updatelistener.go index fcb65a56..f02debc1 100644 --- a/common/commonspace/object/tree/synctree/updatelistener/mock_updatelistener/mock_updatelistener.go +++ b/commonspace/object/tree/synctree/updatelistener/mock_updatelistener/mock_updatelistener.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener (interfaces: UpdateListener) +// Source: github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener (interfaces: UpdateListener) // Package mock_updatelistener is a generated GoMock package. package mock_updatelistener @@ -7,7 +7,7 @@ package mock_updatelistener import ( reflect "reflect" - objecttree "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" + objecttree "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" gomock "github.com/golang/mock/gomock" ) diff --git a/commonspace/object/tree/synctree/updatelistener/updatelistener.go b/commonspace/object/tree/synctree/updatelistener/updatelistener.go new file mode 100644 index 00000000..f76d5c0f --- /dev/null +++ b/commonspace/object/tree/synctree/updatelistener/updatelistener.go @@ -0,0 +1,11 @@ +//go:generate mockgen -destination mock_updatelistener/mock_updatelistener.go github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener UpdateListener +package updatelistener + +import ( + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" +) + +type UpdateListener interface { + Update(tree objecttree.ObjectTree) + Rebuild(tree objecttree.ObjectTree) +} diff --git a/common/commonspace/object/tree/treechangeproto/protos/treechange.proto b/commonspace/object/tree/treechangeproto/protos/treechange.proto similarity index 100% rename from common/commonspace/object/tree/treechangeproto/protos/treechange.proto rename to commonspace/object/tree/treechangeproto/protos/treechange.proto diff --git a/common/commonspace/object/tree/treechangeproto/treechange.go b/commonspace/object/tree/treechangeproto/treechange.go similarity index 100% rename from common/commonspace/object/tree/treechangeproto/treechange.go rename to commonspace/object/tree/treechangeproto/treechange.go diff --git a/common/commonspace/object/tree/treechangeproto/treechange.pb.go b/commonspace/object/tree/treechangeproto/treechange.pb.go similarity index 100% rename from common/commonspace/object/tree/treechangeproto/treechange.pb.go rename to commonspace/object/tree/treechangeproto/treechange.pb.go diff --git a/common/commonspace/object/tree/treestorage/helpers.go b/commonspace/object/tree/treestorage/helpers.go similarity index 100% rename from common/commonspace/object/tree/treestorage/helpers.go rename to commonspace/object/tree/treestorage/helpers.go diff --git a/common/commonspace/object/tree/treestorage/inmemory.go b/commonspace/object/tree/treestorage/inmemory.go similarity index 94% rename from common/commonspace/object/tree/treestorage/inmemory.go rename to commonspace/object/tree/treestorage/inmemory.go index dd864683..29db6f6e 100644 --- a/common/commonspace/object/tree/treestorage/inmemory.go +++ b/commonspace/object/tree/treestorage/inmemory.go @@ -3,7 +3,7 @@ package treestorage import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" "sync" ) diff --git a/common/commonspace/object/tree/treestorage/mock_treestorage/mock_storage.go b/commonspace/object/tree/treestorage/mock_treestorage/mock_storage.go similarity index 96% rename from common/commonspace/object/tree/treestorage/mock_treestorage/mock_storage.go rename to commonspace/object/tree/treestorage/mock_treestorage/mock_storage.go index c9d3c8d4..20a62933 100644 --- a/common/commonspace/object/tree/treestorage/mock_treestorage/mock_storage.go +++ b/commonspace/object/tree/treestorage/mock_treestorage/mock_storage.go @@ -1,13 +1,13 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/storage (interfaces: ListStorage,TreeStorage) +// Source: github.com/anytypeio/any-sync/pkg/acl/storage (interfaces: ListStorage,TreeStorage) // Package mock_storage is a generated GoMock package. package mock_treestorage import ( context "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" reflect "reflect" gomock "github.com/golang/mock/gomock" diff --git a/common/commonspace/object/tree/treestorage/treestorage.go b/commonspace/object/tree/treestorage/treestorage.go similarity index 88% rename from common/commonspace/object/tree/treestorage/treestorage.go rename to commonspace/object/tree/treestorage/treestorage.go index c8167f73..10c6cf70 100644 --- a/common/commonspace/object/tree/treestorage/treestorage.go +++ b/commonspace/object/tree/treestorage/treestorage.go @@ -3,7 +3,7 @@ package treestorage import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" ) var ( diff --git a/common/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go b/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go similarity index 92% rename from common/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go rename to commonspace/object/treegetter/mock_treegetter/mock_treegetter.go index e64ace34..b984ea1b 100644 --- a/common/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go +++ b/commonspace/object/treegetter/mock_treegetter/mock_treegetter.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter (interfaces: TreeGetter) +// Source: github.com/anytypeio/any-sync/commonspace/object/treegetter (interfaces: TreeGetter) // Package mock_treegetter is a generated GoMock package. package mock_treegetter @@ -8,8 +8,8 @@ import ( context "context" reflect "reflect" - app "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - objecttree "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" + app "github.com/anytypeio/any-sync/app" + objecttree "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/object/treegetter/treegetter.go b/commonspace/object/treegetter/treegetter.go similarity index 54% rename from common/commonspace/object/treegetter/treegetter.go rename to commonspace/object/treegetter/treegetter.go index 8b3ba472..f3c3c2ac 100644 --- a/common/commonspace/object/treegetter/treegetter.go +++ b/commonspace/object/treegetter/treegetter.go @@ -1,10 +1,10 @@ -//go:generate mockgen -destination mock_treegetter/mock_treegetter.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter TreeGetter +//go:generate mockgen -destination mock_treegetter/mock_treegetter.go github.com/anytypeio/any-sync/commonspace/object/treegetter TreeGetter package treegetter import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" ) const CName = "common.object.treegetter" diff --git a/common/commonspace/objectsync/actionqueue.go b/commonspace/objectsync/actionqueue.go similarity index 100% rename from common/commonspace/objectsync/actionqueue.go rename to commonspace/objectsync/actionqueue.go diff --git a/common/commonspace/objectsync/actionqueue_test.go b/commonspace/objectsync/actionqueue_test.go similarity index 100% rename from common/commonspace/objectsync/actionqueue_test.go rename to commonspace/objectsync/actionqueue_test.go diff --git a/common/commonspace/objectsync/mock_objectsync/mock_objectsync.go b/commonspace/objectsync/mock_objectsync/mock_objectsync.go similarity index 89% rename from common/commonspace/objectsync/mock_objectsync/mock_objectsync.go rename to commonspace/objectsync/mock_objectsync/mock_objectsync.go index 97b17e10..f87f06f3 100644 --- a/common/commonspace/objectsync/mock_objectsync/mock_objectsync.go +++ b/commonspace/objectsync/mock_objectsync/mock_objectsync.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync (interfaces: ActionQueue) +// Source: github.com/anytypeio/any-sync/commonspace/objectsync (interfaces: ActionQueue) // Package mock_objectsync is a generated GoMock package. package mock_objectsync @@ -7,7 +7,7 @@ package mock_objectsync import ( reflect "reflect" - objectsync "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" + objectsync "github.com/anytypeio/any-sync/commonspace/objectsync" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/objectsync/objectsync.go b/commonspace/objectsync/objectsync.go similarity index 79% rename from common/commonspace/objectsync/objectsync.go rename to commonspace/objectsync/objectsync.go index 964c8d66..5a02f8f7 100644 --- a/common/commonspace/objectsync/objectsync.go +++ b/commonspace/objectsync/objectsync.go @@ -1,14 +1,14 @@ -//go:generate mockgen -destination mock_objectsync/mock_objectsync.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync ActionQueue +//go:generate mockgen -destination mock_objectsync/mock_objectsync.go github.com/anytypeio/any-sync/commonspace/objectsync ActionQueue package objectsync import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/syncobjectgetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync/synchandler" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/app/ocache" + "github.com/anytypeio/any-sync/commonspace/confconnector" + "github.com/anytypeio/any-sync/commonspace/object/syncobjectgetter" + "github.com/anytypeio/any-sync/commonspace/objectsync/synchandler" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" "go.uber.org/zap" "time" ) diff --git a/common/commonspace/objectsync/streamchecker.go b/commonspace/objectsync/streamchecker.go similarity index 90% rename from common/commonspace/objectsync/streamchecker.go rename to commonspace/objectsync/streamchecker.go index 60455130..4f99794d 100644 --- a/common/commonspace/objectsync/streamchecker.go +++ b/commonspace/objectsync/streamchecker.go @@ -3,10 +3,10 @@ package objectsync import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpcerr" + "github.com/anytypeio/any-sync/commonspace/confconnector" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/rpc/rpcerr" "go.uber.org/atomic" "go.uber.org/zap" "golang.org/x/exp/slices" diff --git a/common/commonspace/objectsync/streampool.go b/commonspace/objectsync/streampool.go similarity index 96% rename from common/commonspace/objectsync/streampool.go rename to commonspace/objectsync/streampool.go index 891c5f5f..2948dee8 100644 --- a/common/commonspace/objectsync/streampool.go +++ b/commonspace/objectsync/streampool.go @@ -4,9 +4,9 @@ import ( "context" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" + "github.com/anytypeio/any-sync/app/ocache" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/net/peer" "go.uber.org/zap" "sync" "sync/atomic" diff --git a/common/commonspace/objectsync/streampool_test.go b/commonspace/objectsync/streampool_test.go similarity index 96% rename from common/commonspace/objectsync/streampool_test.go rename to commonspace/objectsync/streampool_test.go index 7fe34317..052802d5 100644 --- a/common/commonspace/objectsync/streampool_test.go +++ b/commonspace/objectsync/streampool_test.go @@ -2,9 +2,9 @@ package objectsync import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpctest" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/rpc/rpctest" "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" "github.com/stretchr/testify/require" "testing" diff --git a/common/commonspace/objectsync/synchandler/synchhandler.go b/commonspace/objectsync/synchandler/synchhandler.go similarity index 65% rename from common/commonspace/objectsync/synchandler/synchhandler.go rename to commonspace/objectsync/synchandler/synchhandler.go index e6bed4bf..00dfd0e3 100644 --- a/common/commonspace/objectsync/synchandler/synchhandler.go +++ b/commonspace/objectsync/synchandler/synchhandler.go @@ -2,7 +2,7 @@ package synchandler import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" ) type SyncHandler interface { diff --git a/common/commonspace/payloads.go b/commonspace/payloads.go similarity index 89% rename from common/commonspace/payloads.go rename to commonspace/payloads.go index c844e030..83fb7867 100644 --- a/common/commonspace/payloads.go +++ b/commonspace/payloads.go @@ -1,13 +1,13 @@ package commonspace import ( - aclrecordproto2 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/keychain" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + aclrecordproto2 "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/keychain" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/util/cidutil" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" "hash/fnv" "math/rand" "time" diff --git a/common/commonspace/rpchandler.go b/commonspace/rpchandler.go similarity index 88% rename from common/commonspace/rpchandler.go rename to commonspace/rpchandler.go index 6a454b28..4bb33cd9 100644 --- a/common/commonspace/rpchandler.go +++ b/commonspace/rpchandler.go @@ -2,7 +2,7 @@ package commonspace import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" ) type RpcHandler interface { diff --git a/common/commonspace/settings/deleteloop.go b/commonspace/settings/deleteloop.go similarity index 100% rename from common/commonspace/settings/deleteloop.go rename to commonspace/settings/deleteloop.go diff --git a/common/commonspace/settings/deleter.go b/commonspace/settings/deleter.go similarity index 76% rename from common/commonspace/settings/deleter.go rename to commonspace/settings/deleter.go index ce56444e..967cd440 100644 --- a/common/commonspace/settings/deleter.go +++ b/commonspace/settings/deleter.go @@ -2,9 +2,9 @@ package settings import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/object/treegetter" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate" + "github.com/anytypeio/any-sync/commonspace/spacestorage" "go.uber.org/zap" ) diff --git a/common/commonspace/settings/deleter_test.go b/commonspace/settings/deleter_test.go similarity index 75% rename from common/commonspace/settings/deleter_test.go rename to commonspace/settings/deleter_test.go index 4c2ac772..8ddc43a2 100644 --- a/common/commonspace/settings/deleter_test.go +++ b/commonspace/settings/deleter_test.go @@ -2,10 +2,10 @@ package settings import ( "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter/mock_treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate/mock_deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage/mock_spacestorage" + "github.com/anytypeio/any-sync/commonspace/object/treegetter/mock_treegetter" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate/mock_deletionstate" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage" "github.com/golang/mock/gomock" "testing" ) diff --git a/common/commonspace/settings/deletionstate/deletionstate.go b/commonspace/settings/deletionstate/deletionstate.go similarity index 91% rename from common/commonspace/settings/deletionstate/deletionstate.go rename to commonspace/settings/deletionstate/deletionstate.go index 066e226e..984971ed 100644 --- a/common/commonspace/settings/deletionstate/deletionstate.go +++ b/commonspace/settings/deletionstate/deletionstate.go @@ -1,9 +1,9 @@ -//go:generate mockgen -destination mock_deletionstate/mock_deletionstate.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate DeletionState +//go:generate mockgen -destination mock_deletionstate/mock_deletionstate.go github.com/anytypeio/any-sync/commonspace/settings/deletionstate DeletionState package deletionstate import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" "sync" ) diff --git a/common/commonspace/settings/deletionstate/deletionstate_test.go b/commonspace/settings/deletionstate/deletionstate_test.go similarity index 94% rename from common/commonspace/settings/deletionstate/deletionstate_test.go rename to commonspace/settings/deletionstate/deletionstate_test.go index 8a270d29..6c91daac 100644 --- a/common/commonspace/settings/deletionstate/deletionstate_test.go +++ b/commonspace/settings/deletionstate/deletionstate_test.go @@ -1,8 +1,8 @@ package deletionstate import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage/mock_spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" "testing" diff --git a/common/commonspace/settings/deletionstate/mock_deletionstate/mock_deletionstate.go b/commonspace/settings/deletionstate/mock_deletionstate/mock_deletionstate.go similarity index 94% rename from common/commonspace/settings/deletionstate/mock_deletionstate/mock_deletionstate.go rename to commonspace/settings/deletionstate/mock_deletionstate/mock_deletionstate.go index 13e4dfb1..33ea472d 100644 --- a/common/commonspace/settings/deletionstate/mock_deletionstate/mock_deletionstate.go +++ b/commonspace/settings/deletionstate/mock_deletionstate/mock_deletionstate.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate (interfaces: DeletionState) +// Source: github.com/anytypeio/any-sync/commonspace/settings/deletionstate (interfaces: DeletionState) // Package mock_deletionstate is a generated GoMock package. package mock_deletionstate @@ -7,7 +7,7 @@ package mock_deletionstate import ( reflect "reflect" - deletionstate "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate" + deletionstate "github.com/anytypeio/any-sync/commonspace/settings/deletionstate" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/settings/idprovider.go b/commonspace/settings/idprovider.go similarity index 88% rename from common/commonspace/settings/idprovider.go rename to commonspace/settings/idprovider.go index 980b6aa1..fdb568f8 100644 --- a/common/commonspace/settings/idprovider.go +++ b/commonspace/settings/idprovider.go @@ -1,8 +1,8 @@ package settings import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" "github.com/gogo/protobuf/proto" ) diff --git a/common/commonspace/settings/idprovider_test.go b/commonspace/settings/idprovider_test.go similarity index 89% rename from common/commonspace/settings/idprovider_test.go rename to commonspace/settings/idprovider_test.go index 5968ce04..9bf6c37d 100644 --- a/common/commonspace/settings/idprovider_test.go +++ b/commonspace/settings/idprovider_test.go @@ -1,9 +1,9 @@ package settings import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree/mock_objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree/mock_objecttree" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" "testing" diff --git a/common/commonspace/settings/mock_settings/mock_settings.go b/commonspace/settings/mock_settings/mock_settings.go similarity index 91% rename from common/commonspace/settings/mock_settings/mock_settings.go rename to commonspace/settings/mock_settings/mock_settings.go index 1e24b27f..5b54ee41 100644 --- a/common/commonspace/settings/mock_settings/mock_settings.go +++ b/commonspace/settings/mock_settings/mock_settings.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings (interfaces: DeletedIdsProvider,Deleter) +// Source: github.com/anytypeio/any-sync/commonspace/settings (interfaces: DeletedIdsProvider,Deleter) // Package mock_settings is a generated GoMock package. package mock_settings @@ -7,7 +7,7 @@ package mock_settings import ( reflect "reflect" - objecttree "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" + objecttree "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/settings/settings.go b/commonspace/settings/settings.go similarity index 81% rename from common/commonspace/settings/settings.go rename to commonspace/settings/settings.go index 68fe1628..180bb57d 100644 --- a/common/commonspace/settings/settings.go +++ b/commonspace/settings/settings.go @@ -1,17 +1,17 @@ -//go:generate mockgen -destination mock_settings/mock_settings.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings DeletedIdsProvider,Deleter +//go:generate mockgen -destination mock_settings/mock_settings.go github.com/anytypeio/any-sync/commonspace/settings DeletedIdsProvider,Deleter package settings import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate" - spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" + "github.com/anytypeio/any-sync/accountservice" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener" + "github.com/anytypeio/any-sync/commonspace/object/treegetter" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate" + spacestorage "github.com/anytypeio/any-sync/commonspace/spacestorage" "go.uber.org/zap" ) diff --git a/common/commonspace/settings/settings_test.go b/commonspace/settings/settings_test.go similarity index 80% rename from common/commonspace/settings/settings_test.go rename to commonspace/settings/settings_test.go index f3f87be8..079253ff 100644 --- a/common/commonspace/settings/settings_test.go +++ b/commonspace/settings/settings_test.go @@ -2,17 +2,17 @@ package settings import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice/mock_accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/mock_synctree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter/mock_treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate/mock_deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/mock_settings" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage/mock_spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/accountservice/mock_accountservice" + "github.com/anytypeio/any-sync/commonspace/object/accountdata" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/mock_synctree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener" + "github.com/anytypeio/any-sync/commonspace/object/treegetter/mock_treegetter" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate/mock_deletionstate" + "github.com/anytypeio/any-sync/commonspace/settings/mock_settings" + "github.com/anytypeio/any-sync/commonspace/spacestorage/mock_spacestorage" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" "sync" diff --git a/common/commonspace/space.go b/commonspace/space.go similarity index 81% rename from common/commonspace/space.go rename to commonspace/space.go index ee863d16..fa33a9ea 100644 --- a/common/commonspace/space.go +++ b/commonspace/space.go @@ -4,26 +4,26 @@ import ( "context" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/headsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/list" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/syncacl" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/synctree/updatelistener" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settings/deletionstate" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/accountservice" + "github.com/anytypeio/any-sync/app/ocache" + "github.com/anytypeio/any-sync/commonspace/headsync" + "github.com/anytypeio/any-sync/commonspace/object/acl/list" + "github.com/anytypeio/any-sync/commonspace/object/acl/syncacl" + "github.com/anytypeio/any-sync/commonspace/object/tree/objecttree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree" + "github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/commonspace/object/treegetter" + "github.com/anytypeio/any-sync/commonspace/objectsync" + "github.com/anytypeio/any-sync/commonspace/settings" + "github.com/anytypeio/any-sync/commonspace/settings/deletionstate" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/nodeconf" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" "github.com/zeebo/errs" "go.uber.org/zap" "sync" diff --git a/common/commonspace/spaceservice.go b/commonspace/spaceservice.go similarity index 80% rename from common/commonspace/spaceservice.go rename to commonspace/spaceservice.go index cc1d269c..2915bd0c 100644 --- a/common/commonspace/spaceservice.go +++ b/commonspace/spaceservice.go @@ -2,21 +2,21 @@ package commonspace import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/confconnector" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/headsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncstatus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + "github.com/anytypeio/any-sync/accountservice" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/commonspace/confconnector" + "github.com/anytypeio/any-sync/commonspace/headsync" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/treegetter" + "github.com/anytypeio/any-sync/commonspace/objectsync" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/commonspace/syncstatus" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/pool" + "github.com/anytypeio/any-sync/nodeconf" ) const CName = "common.commonspace" diff --git a/common/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go b/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go similarity index 91% rename from common/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go rename to commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go index 451f6c6a..f349e2eb 100644 --- a/common/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go +++ b/commonspace/spacestorage/mock_spacestorage/mock_spacestorage.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage (interfaces: SpaceStorage) +// Source: github.com/anytypeio/any-sync/commonspace/spacestorage (interfaces: SpaceStorage) // Package mock_spacestorage is a generated GoMock package. package mock_spacestorage @@ -7,10 +7,10 @@ package mock_spacestorage import ( reflect "reflect" - liststorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - treechangeproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - spacesyncproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + liststorage "github.com/anytypeio/any-sync/commonspace/object/acl/liststorage" + treechangeproto "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + spacesyncproto "github.com/anytypeio/any-sync/commonspace/spacesyncproto" gomock "github.com/golang/mock/gomock" ) diff --git a/common/commonspace/spacestorage/spacestorage.go b/commonspace/spacestorage/spacestorage.go similarity index 69% rename from common/commonspace/spacestorage/spacestorage.go rename to commonspace/spacestorage/spacestorage.go index ddb35bb0..6321f0de 100644 --- a/common/commonspace/spacestorage/spacestorage.go +++ b/commonspace/spacestorage/spacestorage.go @@ -1,14 +1,14 @@ -//go:generate mockgen -destination mock_spacestorage/mock_spacestorage.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage SpaceStorage +//go:generate mockgen -destination mock_spacestorage/mock_spacestorage.go github.com/anytypeio/any-sync/commonspace/spacestorage SpaceStorage package spacestorage import ( "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/commonspace/object/acl/aclrecordproto" + "github.com/anytypeio/any-sync/commonspace/object/acl/liststorage" + "github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto" + "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/commonspace/spacesyncproto" ) const CName = "common.commonspace.spacestorage" diff --git a/common/commonspace/spacesyncproto/errors.go b/commonspace/spacesyncproto/errors.go similarity index 85% rename from common/commonspace/spacesyncproto/errors.go rename to commonspace/spacesyncproto/errors.go index ba9fe05c..e08a4df6 100644 --- a/common/commonspace/spacesyncproto/errors.go +++ b/commonspace/spacesyncproto/errors.go @@ -2,7 +2,7 @@ package spacesyncproto import ( "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpcerr" + "github.com/anytypeio/any-sync/net/rpc/rpcerr" ) var ( diff --git a/common/commonspace/spacesyncproto/mock_spacesyncproto/mock_spacesyncproto.go b/commonspace/spacesyncproto/mock_spacesyncproto/mock_spacesyncproto.go similarity index 94% rename from common/commonspace/spacesyncproto/mock_spacesyncproto/mock_spacesyncproto.go rename to commonspace/spacesyncproto/mock_spacesyncproto/mock_spacesyncproto.go index 7c44b32a..c21243e4 100644 --- a/common/commonspace/spacesyncproto/mock_spacesyncproto/mock_spacesyncproto.go +++ b/commonspace/spacesyncproto/mock_spacesyncproto/mock_spacesyncproto.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto (interfaces: DRPCSpaceSyncClient) +// Source: github.com/anytypeio/any-sync/commonspace/spacesyncproto (interfaces: DRPCSpaceSyncClient) // Package mock_spacesyncproto is a generated GoMock package. package mock_spacesyncproto @@ -8,7 +8,7 @@ import ( context "context" reflect "reflect" - spacesyncproto "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" + spacesyncproto "github.com/anytypeio/any-sync/commonspace/spacesyncproto" gomock "github.com/golang/mock/gomock" drpc "storj.io/drpc" ) diff --git a/common/commonspace/spacesyncproto/protos/spacesync.proto b/commonspace/spacesyncproto/protos/spacesync.proto similarity index 100% rename from common/commonspace/spacesyncproto/protos/spacesync.proto rename to commonspace/spacesyncproto/protos/spacesync.proto diff --git a/common/commonspace/spacesyncproto/spacesync.go b/commonspace/spacesyncproto/spacesync.go similarity index 76% rename from common/commonspace/spacesyncproto/spacesync.go rename to commonspace/spacesyncproto/spacesync.go index 49cfc4a5..ae4e8b7a 100644 --- a/common/commonspace/spacesyncproto/spacesync.go +++ b/commonspace/spacesyncproto/spacesync.go @@ -1,4 +1,4 @@ -//go:generate mockgen -destination mock_spacesyncproto/mock_spacesyncproto.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto DRPCSpaceSyncClient +//go:generate mockgen -destination mock_spacesyncproto/mock_spacesyncproto.go github.com/anytypeio/any-sync/commonspace/spacesyncproto DRPCSpaceSyncClient package spacesyncproto import ( diff --git a/common/commonspace/spacesyncproto/spacesync.pb.go b/commonspace/spacesyncproto/spacesync.pb.go similarity index 100% rename from common/commonspace/spacesyncproto/spacesync.pb.go rename to commonspace/spacesyncproto/spacesync.pb.go diff --git a/common/commonspace/spacesyncproto/spacesync_drpc.pb.go b/commonspace/spacesyncproto/spacesync_drpc.pb.go similarity index 100% rename from common/commonspace/spacesyncproto/spacesync_drpc.pb.go rename to commonspace/spacesyncproto/spacesync_drpc.pb.go diff --git a/common/commonspace/syncstatus/noop.go b/commonspace/syncstatus/noop.go similarity index 100% rename from common/commonspace/syncstatus/noop.go rename to commonspace/syncstatus/noop.go diff --git a/common/commonspace/syncstatus/syncstatus.go b/commonspace/syncstatus/syncstatus.go similarity index 92% rename from common/commonspace/syncstatus/syncstatus.go rename to commonspace/syncstatus/syncstatus.go index 6a1ed555..b5a489a5 100644 --- a/common/commonspace/syncstatus/syncstatus.go +++ b/commonspace/syncstatus/syncstatus.go @@ -3,12 +3,12 @@ package syncstatus import ( "context" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - treestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/periodicsync" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/slice" + "github.com/anytypeio/any-sync/app/logger" + treestorage "github.com/anytypeio/any-sync/commonspace/object/tree/treestorage" + "github.com/anytypeio/any-sync/commonspace/spacestorage" + "github.com/anytypeio/any-sync/nodeconf" + "github.com/anytypeio/any-sync/util/periodicsync" + "github.com/anytypeio/any-sync/util/slice" "golang.org/x/exp/slices" "sync" "time" diff --git a/consensus/Makefile b/consensus/Makefile deleted file mode 100644 index 4afd2df8..00000000 --- a/consensus/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -.PHONY: proto build test -export GOPRIVATE=github.com/anytypeio - -proto: - protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. consensusproto/protos/*.proto - -build: - @$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/consensus)) - go build -v -o ../bin/anytype-consensus -ldflags "$(FLAGS)" github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/cmd - -test: - go test ./... --cover diff --git a/consensus/account/service.go b/consensus/account/service.go deleted file mode 100644 index bb862cbd..00000000 --- a/consensus/account/service.go +++ /dev/null @@ -1,61 +0,0 @@ -package account - -import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" -) - -type service struct { - accountData *accountdata.AccountData - peerId string -} - -func (s *service) Account() *accountdata.AccountData { - return s.accountData -} - -func New() app.Component { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - acc := a.MustComponent("config").(commonaccount.ConfigGetter).GetAccount() - - decodedEncryptionKey, err := keys.DecodeKeyFromString( - acc.EncryptionKey, - encryptionkey.NewEncryptionRsaPrivKeyFromBytes, - nil) - if err != nil { - return err - } - - decodedSigningKey, err := keys.DecodeKeyFromString( - acc.SigningKey, - signingkey.NewSigningEd25519PrivKeyFromBytes, - nil) - if err != nil { - return err - } - - identity, err := decodedSigningKey.GetPublic().Raw() - if err != nil { - return err - } - - s.accountData = &accountdata.AccountData{ - Identity: identity, - SignKey: decodedSigningKey, - EncKey: decodedEncryptionKey, - } - s.peerId = acc.PeerId - - return nil -} - -func (s *service) Name() (name string) { - return commonaccount.CName -} diff --git a/consensus/cmd/consensusnode.go b/consensus/cmd/consensusnode.go deleted file mode 100644 index 8a56d5c5..00000000 --- a/consensus/cmd/consensusnode.go +++ /dev/null @@ -1,97 +0,0 @@ -package main - -import ( - "context" - "flag" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/account" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusrpc" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/stream" - "go.uber.org/zap" - "net/http" - _ "net/http/pprof" - "os" - "os/signal" - "syscall" - "time" -) - -var log = logger.NewNamed("main") - -var ( - flagConfigFile = flag.String("c", "etc/consensus-config.yml", "path to config file") - flagVersion = flag.Bool("v", false, "show version and exit") - flagHelp = flag.Bool("h", false, "show help and exit") -) - -func main() { - flag.Parse() - - if *flagVersion { - fmt.Println(app.VersionDescription()) - return - } - if *flagHelp { - flag.PrintDefaults() - return - } - - if debug, ok := os.LookupEnv("ANYPROF"); ok && debug != "" { - go func() { - http.ListenAndServe(debug, nil) - }() - } - - // create app - ctx := context.Background() - a := new(app.App) - - // open config file - conf, err := config.NewFromFile(*flagConfigFile) - if err != nil { - log.Fatal("can't open config file", zap.Error(err)) - } - conf.Log.ApplyGlobal() - // bootstrap components - a.Register(conf) - Bootstrap(a) - - // start app - if err := a.Start(ctx); err != nil { - log.Fatal("can't start app", zap.Error(err)) - } - log.Info("app started", zap.String("version", a.Version())) - - // wait exit signal - exit := make(chan os.Signal, 1) - signal.Notify(exit, os.Interrupt, syscall.SIGKILL, syscall.SIGTERM, syscall.SIGQUIT) - sig := <-exit - log.Info("received exit signal, stop app...", zap.String("signal", fmt.Sprint(sig))) - - // close app - ctx, cancel := context.WithTimeout(ctx, time.Minute) - defer cancel() - if err := a.Close(ctx); err != nil { - log.Fatal("close error", zap.Error(err)) - } else { - log.Info("goodbye!") - } - time.Sleep(time.Second / 3) -} - -func Bootstrap(a *app.App) { - a.Register(metric.New()). - Register(account.New()). - Register(secureservice.New()). - Register(server.New()). - Register(db.New()). - Register(stream.New()). - Register(consensusrpc.New()) -} diff --git a/consensus/config/config.go b/consensus/config/config.go deleted file mode 100644 index ac1557ba..00000000 --- a/consensus/config/config.go +++ /dev/null @@ -1,57 +0,0 @@ -package config - -import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "gopkg.in/yaml.v3" - "os" -) - -const CName = "config" - -func NewFromFile(path string) (c *Config, err error) { - c = &Config{} - data, err := os.ReadFile(path) - if err != nil { - return nil, err - } - if err = yaml.Unmarshal(data, c); err != nil { - return nil, err - } - return -} - -type Config struct { - GrpcServer net.Config `yaml:"grpcServer"` - Account commonaccount.Config `yaml:"account"` - Mongo Mongo `yaml:"mongo"` - Metric metric.Config `yaml:"metric"` - Log logger.Config `yaml:"log"` -} - -func (c *Config) Init(a *app.App) (err error) { - return -} - -func (c Config) Name() (name string) { - return CName -} - -func (c Config) GetMongo() Mongo { - return c.Mongo -} - -func (c Config) GetNet() net.Config { - return c.GrpcServer -} - -func (c Config) GetAccount() commonaccount.Config { - return c.Account -} - -func (c Config) GetMetric() metric.Config { - return c.Metric -} diff --git a/consensus/config/mongo.go b/consensus/config/mongo.go deleted file mode 100644 index 87fb679d..00000000 --- a/consensus/config/mongo.go +++ /dev/null @@ -1,7 +0,0 @@ -package config - -type Mongo struct { - Connect string `yaml:"connect"` - Database string `yaml:"database"` - LogCollection string `yaml:"logCollection"` -} diff --git a/consensus/consensus.go b/consensus/consensus.go deleted file mode 100644 index 02371b1b..00000000 --- a/consensus/consensus.go +++ /dev/null @@ -1,16 +0,0 @@ -package consensus - -import "time" - -type Log struct { - Id []byte `bson:"_id"` - Records []Record `bson:"records"` - Err error `bson:"-"` -} - -type Record struct { - Id []byte `bson:"id"` - PrevId []byte `bson:"prevId"` - Payload []byte `bson:"payload"` - Created time.Time `bson:"created"'` -} diff --git a/consensus/consensusclient/client.go b/consensus/consensusclient/client.go deleted file mode 100644 index fe4be257..00000000 --- a/consensus/consensusclient/client.go +++ /dev/null @@ -1,244 +0,0 @@ -//go:generate mockgen -destination mock_consensusclient/mock_consensusclient.go github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusclient Service -package consensusclient - -import ( - "context" - "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpcerr" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - _ "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto/consensuserr" - "go.uber.org/zap" - "sync" - "time" -) - -const CName = "consensus.client" - -var log = logger.NewNamed(CName) - -var ( - ErrWatcherExists = errors.New("watcher exists") - ErrWatcherNotExists = errors.New("watcher not exists") -) - -func New() Service { - return new(service) -} - -// Watcher watches new events by specified logId -type Watcher interface { - AddConsensusRecords(recs []*consensusproto.Record) - AddConsensusError(err error) -} - -type Service interface { - // AddLog adds new log to consensus servers - AddLog(ctx context.Context, clog *consensusproto.Log) (err error) - // AddRecord adds new record to consensus servers - AddRecord(ctx context.Context, logId []byte, clog *consensusproto.Record) (err error) - // Watch starts watching to given logId and calls watcher when any relative event received - Watch(logId []byte, w Watcher) (err error) - // UnWatch stops watching given logId and removes watcher - UnWatch(logId []byte) (err error) - app.ComponentRunnable -} - -type service struct { - pool pool.Pool - nodeconf nodeconf.Service - - watchers map[string]Watcher - stream *stream - close chan struct{} - mu sync.Mutex -} - -func (s *service) Init(a *app.App) (err error) { - s.pool = a.MustComponent(pool.CName).(pool.Pool) - s.nodeconf = a.MustComponent(nodeconf.CName).(nodeconf.Service) - s.watchers = make(map[string]Watcher) - s.close = make(chan struct{}) - return nil -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Run(_ context.Context) error { - go s.streamWatcher() - return nil -} - -func (s *service) getClient(ctx context.Context) (consensusproto.DRPCConsensusClient, error) { - peer, err := s.pool.GetOneOf(ctx, s.nodeconf.GetLast().ConsensusPeers()) - if err != nil { - return nil, err - } - return consensusproto.NewDRPCConsensusClient(peer), nil -} - -func (s *service) dialClient(ctx context.Context) (consensusproto.DRPCConsensusClient, error) { - peer, err := s.pool.DialOneOf(ctx, s.nodeconf.GetLast().ConsensusPeers()) - if err != nil { - return nil, err - } - return consensusproto.NewDRPCConsensusClient(peer), nil -} - -func (s *service) AddLog(ctx context.Context, clog *consensusproto.Log) (err error) { - cl, err := s.getClient(ctx) - if err != nil { - return - } - if _, err = cl.AddLog(ctx, &consensusproto.AddLogRequest{ - Log: clog, - }); err != nil { - return rpcerr.Unwrap(err) - } - return -} - -func (s *service) AddRecord(ctx context.Context, logId []byte, clog *consensusproto.Record) (err error) { - cl, err := s.getClient(ctx) - if err != nil { - return - } - if _, err = cl.AddRecord(ctx, &consensusproto.AddRecordRequest{ - LogId: logId, - Record: clog, - }); err != nil { - return rpcerr.Unwrap(err) - } - return -} - -func (s *service) Watch(logId []byte, w Watcher) (err error) { - s.mu.Lock() - defer s.mu.Unlock() - if _, ok := s.watchers[string(logId)]; ok { - return ErrWatcherExists - } - s.watchers[string(logId)] = w - if s.stream != nil { - if wErr := s.stream.WatchIds([][]byte{logId}); wErr != nil { - log.Warn("WatchIds error", zap.Error(wErr)) - } - } - return -} - -func (s *service) UnWatch(logId []byte) (err error) { - s.mu.Lock() - defer s.mu.Unlock() - if _, ok := s.watchers[string(logId)]; !ok { - return ErrWatcherNotExists - } - delete(s.watchers, string(logId)) - if s.stream != nil { - if wErr := s.stream.UnwatchIds([][]byte{logId}); wErr != nil { - log.Warn("UnWatchIds error", zap.Error(wErr)) - } - } - return -} - -func (s *service) openStream(ctx context.Context) (st *stream, err error) { - cl, err := s.dialClient(ctx) - if err != nil { - return - } - rpcStream, err := cl.WatchLog(ctx) - if err != nil { - return nil, rpcerr.Unwrap(err) - } - return runStream(rpcStream), nil -} - -func (s *service) streamWatcher() { - var ( - err error - st *stream - i int - ) - for { - // open stream - if st, err = s.openStream(context.Background()); err != nil { - // can't open stream, we will retry until success connection or close - if i < 60 { - i++ - } - sleepTime := time.Second * time.Duration(i) - log.Error("watch log error", zap.Error(err), zap.Duration("waitTime", sleepTime)) - select { - case <-time.After(sleepTime): - continue - case <-s.close: - return - } - } - i = 0 - - // collect ids and setup stream - s.mu.Lock() - var logIds = make([][]byte, 0, len(s.watchers)) - for id := range s.watchers { - logIds = append(logIds, []byte(id)) - } - s.stream = st - s.mu.Unlock() - - // restore subscriptions - if len(logIds) > 0 { - if err = s.stream.WatchIds(logIds); err != nil { - log.Error("watch ids error", zap.Error(err)) - continue - } - } - - // read stream - if err = s.streamReader(); err != nil { - log.Error("stream read error", zap.Error(err)) - continue - } - return - } -} - -func (s *service) streamReader() error { - for { - events := s.stream.WaitLogs() - if len(events) == 0 { - return s.stream.Err() - } - for _, e := range events { - if w, ok := s.watchers[string(e.LogId)]; ok { - if e.Error == nil { - w.AddConsensusRecords(e.Records) - } else { - w.AddConsensusError(rpcerr.Err(uint64(e.Error.Error))) - } - } else { - log.Warn("received unexpected log id", zap.Binary("logId", e.LogId)) - } - } - } -} - -func (s *service) Close(_ context.Context) error { - s.mu.Lock() - if s.stream != nil { - _ = s.stream.Close() - } - s.mu.Unlock() - select { - case <-s.close: - default: - close(s.close) - } - return nil -} diff --git a/consensus/consensusclient/client_test.go b/consensus/consensusclient/client_test.go deleted file mode 100644 index cb11ad03..00000000 --- a/consensus/consensusclient/client_test.go +++ /dev/null @@ -1,255 +0,0 @@ -package consensusclient - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice/mock_accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpctest" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto/consensuserr" - "github.com/golang/mock/gomock" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "sync" - "testing" - "time" -) - -func TestService_Watch(t *testing.T) { - t.Run("not found error", func(t *testing.T) { - fx := newFixture(t).run(t) - defer fx.Finish() - var logId = []byte{'1'} - w := &testWatcher{ready: make(chan struct{})} - require.NoError(t, fx.Watch(logId, w)) - st := fx.testServer.waitStream(t) - req, err := st.Recv() - require.NoError(t, err) - assert.Equal(t, [][]byte{logId}, req.WatchIds) - require.NoError(t, st.Send(&consensusproto.WatchLogEvent{ - LogId: logId, - Error: &consensusproto.Err{ - Error: consensusproto.ErrCodes_ErrorOffset + consensusproto.ErrCodes_LogNotFound, - }, - })) - <-w.ready - assert.Equal(t, consensuserr.ErrLogNotFound, w.err) - fx.testServer.releaseStream <- nil - }) - t.Run("watcherExists error", func(t *testing.T) { - fx := newFixture(t).run(t) - defer fx.Finish() - var logId = []byte{'1'} - w := &testWatcher{} - require.NoError(t, fx.Watch(logId, w)) - require.Error(t, fx.Watch(logId, w)) - st := fx.testServer.waitStream(t) - st.Recv() - fx.testServer.releaseStream <- nil - }) - t.Run("watch", func(t *testing.T) { - fx := newFixture(t).run(t) - defer fx.Finish() - var logId1 = []byte{'1'} - w := &testWatcher{} - require.NoError(t, fx.Watch(logId1, w)) - st := fx.testServer.waitStream(t) - req, err := st.Recv() - require.NoError(t, err) - assert.Equal(t, [][]byte{logId1}, req.WatchIds) - - var logId2 = []byte{'2'} - w = &testWatcher{} - require.NoError(t, fx.Watch(logId2, w)) - req, err = st.Recv() - require.NoError(t, err) - assert.Equal(t, [][]byte{logId2}, req.WatchIds) - - fx.testServer.releaseStream <- nil - }) -} - -func TestService_UnWatch(t *testing.T) { - t.Run("no watcher", func(t *testing.T) { - fx := newFixture(t).run(t) - defer fx.Finish() - require.Error(t, fx.UnWatch([]byte{'1'})) - }) - t.Run("success", func(t *testing.T) { - fx := newFixture(t).run(t) - defer fx.Finish() - w := &testWatcher{} - require.NoError(t, fx.Watch([]byte{'1'}, w)) - assert.NoError(t, fx.UnWatch([]byte{'1'})) - }) -} - -func TestService_Init(t *testing.T) { - t.Run("reconnect on watch err", func(t *testing.T) { - fx := newFixture(t) - fx.testServer.watchErrOnce = true - fx.run(t) - defer fx.Finish() - fx.testServer.waitStream(t) - fx.testServer.releaseStream <- nil - }) - t.Run("reconnect on start", func(t *testing.T) { - fx := newFixture(t) - fx.a.MustComponent(pool.CName).(*rpctest.TestPool).WithServer(nil) - fx.run(t) - defer fx.Finish() - time.Sleep(time.Millisecond * 50) - fx.a.MustComponent(pool.CName).(*rpctest.TestPool).WithServer(fx.drpcTS) - fx.testServer.waitStream(t) - fx.testServer.releaseStream <- nil - }) -} - -func TestService_AddLog(t *testing.T) { - fx := newFixture(t).run(t) - defer fx.Finish() - assert.NoError(t, fx.AddLog(ctx, &consensusproto.Log{})) -} - -func TestService_AddRecord(t *testing.T) { - fx := newFixture(t).run(t) - defer fx.Finish() - assert.NoError(t, fx.AddRecord(ctx, []byte{'1'}, &consensusproto.Record{})) -} - -var ctx = context.Background() - -func newFixture(t *testing.T) *fixture { - fx := &fixture{ - Service: New(), - a: &app.App{}, - ctrl: gomock.NewController(t), - testServer: &testServer{ - stream: make(chan consensusproto.DRPCConsensus_WatchLogStream), - releaseStream: make(chan error), - }, - nodeconf: nodeconf.New(), - } - - fx.drpcTS = rpctest.NewTestServer() - require.NoError(t, consensusproto.DRPCRegisterConsensus(fx.drpcTS.Mux, fx.testServer)) - fx.a.Register(fx.Service). - Register(mock_accountservice.NewAccountServiceWithAccount(fx.ctrl, &accountdata.AccountData{})). - Register(fx.nodeconf). - Register(rpctest.NewTestPool().WithServer(fx.drpcTS)). - Register(&testConfig{Nodes: []nodeconf.NodeConfig{ - { - PeerId: "c1", - Types: []nodeconf.NodeType{nodeconf.NodeTypeConsensus}, - }, - { - PeerId: "c2", - Types: []nodeconf.NodeType{nodeconf.NodeTypeConsensus}, - }, - { - PeerId: "c3", - Types: []nodeconf.NodeType{nodeconf.NodeTypeConsensus}, - }, - }}) - return fx -} - -type fixture struct { - Service - nodeconf nodeconf.Service - a *app.App - ctrl *gomock.Controller - testServer *testServer - drpcTS *rpctest.TesServer -} - -func (fx *fixture) run(t *testing.T) *fixture { - require.NoError(t, fx.a.Start(ctx)) - return fx -} - -func (fx *fixture) Finish() { - assert.NoError(fx.ctrl.T, fx.a.Close(ctx)) - fx.ctrl.Finish() -} - -type testServer struct { - stream chan consensusproto.DRPCConsensus_WatchLogStream - addLog func(ctx context.Context, req *consensusproto.AddLogRequest) error - addRecord func(ctx context.Context, req *consensusproto.AddRecordRequest) error - releaseStream chan error - watchErrOnce bool -} - -func (t *testServer) AddLog(ctx context.Context, req *consensusproto.AddLogRequest) (*consensusproto.Ok, error) { - if t.addLog != nil { - if err := t.addLog(ctx, req); err != nil { - return nil, err - } - } - return &consensusproto.Ok{}, nil -} - -func (t *testServer) AddRecord(ctx context.Context, req *consensusproto.AddRecordRequest) (*consensusproto.Ok, error) { - if t.addRecord != nil { - if err := t.addRecord(ctx, req); err != nil { - return nil, err - } - } - return &consensusproto.Ok{}, nil -} - -func (t *testServer) WatchLog(stream consensusproto.DRPCConsensus_WatchLogStream) error { - if t.watchErrOnce { - t.watchErrOnce = false - return fmt.Errorf("error") - } - t.stream <- stream - return <-t.releaseStream -} - -func (t *testServer) waitStream(test *testing.T) consensusproto.DRPCConsensus_WatchLogStream { - select { - case <-time.After(time.Second * 5): - test.Fatalf("waiteStream timeout") - case st := <-t.stream: - return st - } - return nil -} - -type testWatcher struct { - recs [][]*consensusproto.Record - err error - ready chan struct{} - once sync.Once -} - -func (t *testWatcher) AddConsensusRecords(recs []*consensusproto.Record) { - t.recs = append(t.recs, recs) - t.once.Do(func() { - close(t.ready) - }) -} - -func (t *testWatcher) AddConsensusError(err error) { - t.err = err - t.once.Do(func() { - close(t.ready) - }) -} - -type testConfig struct { - Nodes []nodeconf.NodeConfig -} - -func (t testConfig) GetNodes() []nodeconf.NodeConfig { - return t.Nodes -} - -func (t *testConfig) Init(a *app.App) error { return nil } -func (t *testConfig) Name() string { return "config" } diff --git a/consensus/consensusclient/mock_consensusclient/mock_consensusclient.go b/consensus/consensusclient/mock_consensusclient/mock_consensusclient.go deleted file mode 100644 index 356cb927..00000000 --- a/consensus/consensusclient/mock_consensusclient/mock_consensusclient.go +++ /dev/null @@ -1,150 +0,0 @@ -// Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusclient (interfaces: Service) - -// Package mock_consensusclient is a generated GoMock package. -package mock_consensusclient - -import ( - context "context" - reflect "reflect" - - app "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - consensusclient "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusclient" - consensusproto "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - gomock "github.com/golang/mock/gomock" -) - -// MockService is a mock of Service interface. -type MockService struct { - ctrl *gomock.Controller - recorder *MockServiceMockRecorder -} - -// MockServiceMockRecorder is the mock recorder for MockService. -type MockServiceMockRecorder struct { - mock *MockService -} - -// NewMockService creates a new mock instance. -func NewMockService(ctrl *gomock.Controller) *MockService { - mock := &MockService{ctrl: ctrl} - mock.recorder = &MockServiceMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockService) EXPECT() *MockServiceMockRecorder { - return m.recorder -} - -// AddLog mocks base method. -func (m *MockService) AddLog(arg0 context.Context, arg1 *consensusproto.Log) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddLog", arg0, arg1) - ret0, _ := ret[0].(error) - return ret0 -} - -// AddLog indicates an expected call of AddLog. -func (mr *MockServiceMockRecorder) AddLog(arg0, arg1 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddLog", reflect.TypeOf((*MockService)(nil).AddLog), arg0, arg1) -} - -// AddRecord mocks base method. -func (m *MockService) AddRecord(arg0 context.Context, arg1 []byte, arg2 *consensusproto.Record) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddRecord", arg0, arg1, arg2) - ret0, _ := ret[0].(error) - return ret0 -} - -// AddRecord indicates an expected call of AddRecord. -func (mr *MockServiceMockRecorder) AddRecord(arg0, arg1, arg2 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddRecord", reflect.TypeOf((*MockService)(nil).AddRecord), arg0, arg1, arg2) -} - -// Close mocks base method. -func (m *MockService) Close(arg0 context.Context) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Close", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// Close indicates an expected call of Close. -func (mr *MockServiceMockRecorder) Close(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockService)(nil).Close), arg0) -} - -// Init mocks base method. -func (m *MockService) Init(arg0 *app.App) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Init", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// Init indicates an expected call of Init. -func (mr *MockServiceMockRecorder) Init(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockService)(nil).Init), arg0) -} - -// Name mocks base method. -func (m *MockService) Name() string { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Name") - ret0, _ := ret[0].(string) - return ret0 -} - -// Name indicates an expected call of Name. -func (mr *MockServiceMockRecorder) Name() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockService)(nil).Name)) -} - -// Run mocks base method. -func (m *MockService) Run(arg0 context.Context) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Run", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// Run indicates an expected call of Run. -func (mr *MockServiceMockRecorder) Run(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockService)(nil).Run), arg0) -} - -// UnWatch mocks base method. -func (m *MockService) UnWatch(arg0 []byte) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UnWatch", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// UnWatch indicates an expected call of UnWatch. -func (mr *MockServiceMockRecorder) UnWatch(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnWatch", reflect.TypeOf((*MockService)(nil).UnWatch), arg0) -} - -// Watch mocks base method. -func (m *MockService) Watch(arg0 []byte, arg1 consensusclient.Watcher) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Watch", arg0, arg1) - ret0, _ := ret[0].(error) - return ret0 -} - -// Watch indicates an expected call of Watch. -func (mr *MockServiceMockRecorder) Watch(arg0, arg1 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Watch", reflect.TypeOf((*MockService)(nil).Watch), arg0, arg1) -} diff --git a/consensus/consensusclient/stream.go b/consensus/consensusclient/stream.go deleted file mode 100644 index 91f49207..00000000 --- a/consensus/consensusclient/stream.go +++ /dev/null @@ -1,70 +0,0 @@ -package consensusclient - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - "github.com/cheggaaa/mb/v3" - "sync" -) - -func runStream(rpcStream consensusproto.DRPCConsensus_WatchLogClient) *stream { - st := &stream{ - rpcStream: rpcStream, - mb: mb.New[*consensusproto.WatchLogEvent](100), - } - go st.readStream() - return st -} - -type stream struct { - rpcStream consensusproto.DRPCConsensus_WatchLogClient - mb *mb.MB[*consensusproto.WatchLogEvent] - mu sync.Mutex - err error -} - -func (s *stream) WatchIds(logIds [][]byte) (err error) { - return s.rpcStream.Send(&consensusproto.WatchLogRequest{ - WatchIds: logIds, - }) -} - -func (s *stream) UnwatchIds(logIds [][]byte) (err error) { - return s.rpcStream.Send(&consensusproto.WatchLogRequest{ - UnwatchIds: logIds, - }) -} - -func (s *stream) WaitLogs() []*consensusproto.WatchLogEvent { - events, _ := s.mb.Wait(context.TODO()) - return events -} - -func (s *stream) Err() error { - s.mu.Lock() - defer s.mu.Unlock() - return s.err -} - -func (s *stream) readStream() { - defer s.Close() - for { - event, err := s.rpcStream.Recv() - if err != nil { - s.mu.Lock() - s.err = err - s.mu.Unlock() - return - } - if err = s.mb.Add(s.rpcStream.Context(), event); err != nil { - return - } - } -} - -func (s *stream) Close() error { - if err := s.mb.Close(); err == nil { - return s.rpcStream.Close() - } - return nil -} diff --git a/consensus/consensusproto/consensus.pb.go b/consensus/consensusproto/consensus.pb.go deleted file mode 100644 index be7fc173..00000000 --- a/consensus/consensusproto/consensus.pb.go +++ /dev/null @@ -1,1957 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: consensusproto/protos/consensus.proto - -package consensusproto - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type ErrCodes int32 - -const ( - ErrCodes_Unexpected ErrCodes = 0 - ErrCodes_LogExists ErrCodes = 1 - ErrCodes_LogNotFound ErrCodes = 2 - ErrCodes_RecordConflict ErrCodes = 3 - ErrCodes_ErrorOffset ErrCodes = 300 -) - -var ErrCodes_name = map[int32]string{ - 0: "Unexpected", - 1: "LogExists", - 2: "LogNotFound", - 3: "RecordConflict", - 300: "ErrorOffset", -} - -var ErrCodes_value = map[string]int32{ - "Unexpected": 0, - "LogExists": 1, - "LogNotFound": 2, - "RecordConflict": 3, - "ErrorOffset": 300, -} - -func (x ErrCodes) String() string { - return proto.EnumName(ErrCodes_name, int32(x)) -} - -func (ErrCodes) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{0} -} - -type Log struct { - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Records []*Record `protobuf:"bytes,2,rep,name=records,proto3" json:"records,omitempty"` -} - -func (m *Log) Reset() { *m = Log{} } -func (m *Log) String() string { return proto.CompactTextString(m) } -func (*Log) ProtoMessage() {} -func (*Log) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{0} -} -func (m *Log) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Log) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Log.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 *Log) XXX_Merge(src proto.Message) { - xxx_messageInfo_Log.Merge(m, src) -} -func (m *Log) XXX_Size() int { - return m.Size() -} -func (m *Log) XXX_DiscardUnknown() { - xxx_messageInfo_Log.DiscardUnknown(m) -} - -var xxx_messageInfo_Log proto.InternalMessageInfo - -func (m *Log) GetId() []byte { - if m != nil { - return m.Id - } - return nil -} - -func (m *Log) GetRecords() []*Record { - if m != nil { - return m.Records - } - return nil -} - -type Record struct { - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - PrevId []byte `protobuf:"bytes,2,opt,name=prevId,proto3" json:"prevId,omitempty"` - Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` - CreatedUnix uint64 `protobuf:"varint,4,opt,name=createdUnix,proto3" json:"createdUnix,omitempty"` -} - -func (m *Record) Reset() { *m = Record{} } -func (m *Record) String() string { return proto.CompactTextString(m) } -func (*Record) ProtoMessage() {} -func (*Record) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{1} -} -func (m *Record) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Record) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Record.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 *Record) XXX_Merge(src proto.Message) { - xxx_messageInfo_Record.Merge(m, src) -} -func (m *Record) XXX_Size() int { - return m.Size() -} -func (m *Record) XXX_DiscardUnknown() { - xxx_messageInfo_Record.DiscardUnknown(m) -} - -var xxx_messageInfo_Record proto.InternalMessageInfo - -func (m *Record) GetId() []byte { - if m != nil { - return m.Id - } - return nil -} - -func (m *Record) GetPrevId() []byte { - if m != nil { - return m.PrevId - } - return nil -} - -func (m *Record) GetPayload() []byte { - if m != nil { - return m.Payload - } - return nil -} - -func (m *Record) GetCreatedUnix() uint64 { - if m != nil { - return m.CreatedUnix - } - return 0 -} - -type Ok struct { -} - -func (m *Ok) Reset() { *m = Ok{} } -func (m *Ok) String() string { return proto.CompactTextString(m) } -func (*Ok) ProtoMessage() {} -func (*Ok) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{2} -} -func (m *Ok) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Ok) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Ok.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 *Ok) XXX_Merge(src proto.Message) { - xxx_messageInfo_Ok.Merge(m, src) -} -func (m *Ok) XXX_Size() int { - return m.Size() -} -func (m *Ok) XXX_DiscardUnknown() { - xxx_messageInfo_Ok.DiscardUnknown(m) -} - -var xxx_messageInfo_Ok proto.InternalMessageInfo - -type AddLogRequest struct { - Log *Log `protobuf:"bytes,1,opt,name=log,proto3" json:"log,omitempty"` -} - -func (m *AddLogRequest) Reset() { *m = AddLogRequest{} } -func (m *AddLogRequest) String() string { return proto.CompactTextString(m) } -func (*AddLogRequest) ProtoMessage() {} -func (*AddLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{3} -} -func (m *AddLogRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AddLogRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AddLogRequest.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 *AddLogRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddLogRequest.Merge(m, src) -} -func (m *AddLogRequest) XXX_Size() int { - return m.Size() -} -func (m *AddLogRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddLogRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddLogRequest proto.InternalMessageInfo - -func (m *AddLogRequest) GetLog() *Log { - if m != nil { - return m.Log - } - return nil -} - -type AddRecordRequest struct { - LogId []byte `protobuf:"bytes,1,opt,name=logId,proto3" json:"logId,omitempty"` - Record *Record `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"` -} - -func (m *AddRecordRequest) Reset() { *m = AddRecordRequest{} } -func (m *AddRecordRequest) String() string { return proto.CompactTextString(m) } -func (*AddRecordRequest) ProtoMessage() {} -func (*AddRecordRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{4} -} -func (m *AddRecordRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AddRecordRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AddRecordRequest.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 *AddRecordRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddRecordRequest.Merge(m, src) -} -func (m *AddRecordRequest) XXX_Size() int { - return m.Size() -} -func (m *AddRecordRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddRecordRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddRecordRequest proto.InternalMessageInfo - -func (m *AddRecordRequest) GetLogId() []byte { - if m != nil { - return m.LogId - } - return nil -} - -func (m *AddRecordRequest) GetRecord() *Record { - if m != nil { - return m.Record - } - return nil -} - -type WatchLogRequest struct { - WatchIds [][]byte `protobuf:"bytes,1,rep,name=watchIds,proto3" json:"watchIds,omitempty"` - UnwatchIds [][]byte `protobuf:"bytes,2,rep,name=unwatchIds,proto3" json:"unwatchIds,omitempty"` -} - -func (m *WatchLogRequest) Reset() { *m = WatchLogRequest{} } -func (m *WatchLogRequest) String() string { return proto.CompactTextString(m) } -func (*WatchLogRequest) ProtoMessage() {} -func (*WatchLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{5} -} -func (m *WatchLogRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *WatchLogRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_WatchLogRequest.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 *WatchLogRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_WatchLogRequest.Merge(m, src) -} -func (m *WatchLogRequest) XXX_Size() int { - return m.Size() -} -func (m *WatchLogRequest) XXX_DiscardUnknown() { - xxx_messageInfo_WatchLogRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_WatchLogRequest proto.InternalMessageInfo - -func (m *WatchLogRequest) GetWatchIds() [][]byte { - if m != nil { - return m.WatchIds - } - return nil -} - -func (m *WatchLogRequest) GetUnwatchIds() [][]byte { - if m != nil { - return m.UnwatchIds - } - return nil -} - -type WatchLogEvent struct { - LogId []byte `protobuf:"bytes,1,opt,name=logId,proto3" json:"logId,omitempty"` - Records []*Record `protobuf:"bytes,2,rep,name=records,proto3" json:"records,omitempty"` - Error *Err `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` -} - -func (m *WatchLogEvent) Reset() { *m = WatchLogEvent{} } -func (m *WatchLogEvent) String() string { return proto.CompactTextString(m) } -func (*WatchLogEvent) ProtoMessage() {} -func (*WatchLogEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{6} -} -func (m *WatchLogEvent) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *WatchLogEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_WatchLogEvent.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 *WatchLogEvent) XXX_Merge(src proto.Message) { - xxx_messageInfo_WatchLogEvent.Merge(m, src) -} -func (m *WatchLogEvent) XXX_Size() int { - return m.Size() -} -func (m *WatchLogEvent) XXX_DiscardUnknown() { - xxx_messageInfo_WatchLogEvent.DiscardUnknown(m) -} - -var xxx_messageInfo_WatchLogEvent proto.InternalMessageInfo - -func (m *WatchLogEvent) GetLogId() []byte { - if m != nil { - return m.LogId - } - return nil -} - -func (m *WatchLogEvent) GetRecords() []*Record { - if m != nil { - return m.Records - } - return nil -} - -func (m *WatchLogEvent) GetError() *Err { - if m != nil { - return m.Error - } - return nil -} - -type Err struct { - Error ErrCodes `protobuf:"varint,1,opt,name=error,proto3,enum=anyConsensus.ErrCodes" json:"error,omitempty"` -} - -func (m *Err) Reset() { *m = Err{} } -func (m *Err) String() string { return proto.CompactTextString(m) } -func (*Err) ProtoMessage() {} -func (*Err) Descriptor() ([]byte, []int) { - return fileDescriptor_6b92aaf7feaf5a54, []int{7} -} -func (m *Err) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Err) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Err.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 *Err) XXX_Merge(src proto.Message) { - xxx_messageInfo_Err.Merge(m, src) -} -func (m *Err) XXX_Size() int { - return m.Size() -} -func (m *Err) XXX_DiscardUnknown() { - xxx_messageInfo_Err.DiscardUnknown(m) -} - -var xxx_messageInfo_Err proto.InternalMessageInfo - -func (m *Err) GetError() ErrCodes { - if m != nil { - return m.Error - } - return ErrCodes_Unexpected -} - -func init() { - proto.RegisterEnum("anyConsensus.ErrCodes", ErrCodes_name, ErrCodes_value) - proto.RegisterType((*Log)(nil), "anyConsensus.Log") - proto.RegisterType((*Record)(nil), "anyConsensus.Record") - proto.RegisterType((*Ok)(nil), "anyConsensus.Ok") - proto.RegisterType((*AddLogRequest)(nil), "anyConsensus.AddLogRequest") - proto.RegisterType((*AddRecordRequest)(nil), "anyConsensus.AddRecordRequest") - proto.RegisterType((*WatchLogRequest)(nil), "anyConsensus.WatchLogRequest") - proto.RegisterType((*WatchLogEvent)(nil), "anyConsensus.WatchLogEvent") - proto.RegisterType((*Err)(nil), "anyConsensus.Err") -} - -func init() { - proto.RegisterFile("consensusproto/protos/consensus.proto", fileDescriptor_6b92aaf7feaf5a54) -} - -var fileDescriptor_6b92aaf7feaf5a54 = []byte{ - // 509 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xcd, 0x8a, 0xd3, 0x50, - 0x14, 0xee, 0x4d, 0x3a, 0x9d, 0xf6, 0xf4, 0x2f, 0x1e, 0x86, 0x21, 0x74, 0x30, 0x94, 0x88, 0x58, - 0x65, 0x68, 0xa5, 0x23, 0xb8, 0x72, 0x31, 0x96, 0x0a, 0x95, 0x6a, 0x21, 0x30, 0x0a, 0xae, 0xac, - 0xb9, 0xb7, 0x31, 0x4c, 0xc8, 0xad, 0xf7, 0xa6, 0x63, 0x67, 0xe3, 0x33, 0xf8, 0x20, 0x3e, 0x88, - 0x3b, 0x67, 0xe9, 0x52, 0xda, 0x17, 0x91, 0xdc, 0xfc, 0xd0, 0xd8, 0x99, 0x85, 0x9b, 0x96, 0xf3, - 0x7d, 0xe7, 0xe7, 0xbb, 0xe7, 0x7c, 0x81, 0x87, 0x2e, 0x0f, 0x25, 0x0b, 0xe5, 0x4a, 0x2e, 0x05, - 0x8f, 0xf8, 0x40, 0xfd, 0xca, 0x41, 0x8e, 0xf6, 0x15, 0x80, 0x8d, 0x79, 0x78, 0x3d, 0xca, 0x30, - 0x7b, 0x0c, 0xfa, 0x94, 0x7b, 0xd8, 0x02, 0xcd, 0xa7, 0x26, 0xe9, 0x92, 0x5e, 0xc3, 0xd1, 0x7c, - 0x8a, 0x7d, 0x38, 0x14, 0xcc, 0xe5, 0x82, 0x4a, 0x53, 0xeb, 0xea, 0xbd, 0xfa, 0xf0, 0xa8, 0xbf, - 0x5b, 0xd6, 0x77, 0x14, 0xe9, 0x64, 0x49, 0x76, 0x00, 0x95, 0x04, 0xda, 0xeb, 0x74, 0x0c, 0x95, - 0xa5, 0x60, 0x57, 0x13, 0x6a, 0x6a, 0x0a, 0x4b, 0x23, 0x34, 0xe1, 0x70, 0x39, 0xbf, 0x0e, 0xf8, - 0x9c, 0x9a, 0xba, 0x22, 0xb2, 0x10, 0xbb, 0x50, 0x77, 0x05, 0x9b, 0x47, 0x8c, 0x5e, 0x84, 0xfe, - 0xda, 0x2c, 0x77, 0x49, 0xaf, 0xec, 0xec, 0x42, 0x76, 0x19, 0xb4, 0xd9, 0xa5, 0xfd, 0x0c, 0x9a, - 0xe7, 0x94, 0x4e, 0xb9, 0xe7, 0xb0, 0x2f, 0x2b, 0x26, 0x23, 0x7c, 0x00, 0x7a, 0xc0, 0x3d, 0x35, - 0xbb, 0x3e, 0xbc, 0x57, 0x14, 0x1c, 0xa7, 0xc5, 0xac, 0xfd, 0x0e, 0x8c, 0x73, 0x4a, 0x53, 0xfd, - 0x69, 0xe1, 0x11, 0x1c, 0x04, 0xdc, 0x9b, 0x64, 0xb2, 0x93, 0x00, 0x4f, 0xa1, 0x92, 0x3c, 0x4f, - 0x29, 0xbf, 0x6b, 0x05, 0x69, 0x8e, 0xfd, 0x06, 0xda, 0xef, 0xe7, 0x91, 0xfb, 0x79, 0x47, 0x4f, - 0x07, 0xaa, 0x5f, 0x63, 0x68, 0x42, 0xa5, 0x49, 0xba, 0x7a, 0xaf, 0xe1, 0xe4, 0x31, 0x5a, 0x00, - 0xab, 0x30, 0x67, 0x35, 0xc5, 0xee, 0x20, 0xf6, 0x37, 0x68, 0x66, 0xed, 0xc6, 0x57, 0x2c, 0xbc, - 0x4b, 0xe3, 0x7f, 0xde, 0x09, 0x1f, 0xc1, 0x01, 0x13, 0x82, 0x0b, 0xb5, 0xf3, 0xbd, 0x25, 0x8d, - 0x85, 0x70, 0x12, 0xde, 0x3e, 0x03, 0x7d, 0x2c, 0x04, 0x9e, 0x66, 0xf9, 0xf1, 0xd4, 0xd6, 0xf0, - 0x78, 0x2f, 0x7f, 0xc4, 0x29, 0x93, 0x69, 0xd1, 0x93, 0x8f, 0x50, 0xcd, 0x20, 0x6c, 0x01, 0x5c, - 0x84, 0x6c, 0xbd, 0x64, 0x6e, 0xc4, 0xa8, 0x51, 0xc2, 0x26, 0xd4, 0xe2, 0xb7, 0xac, 0x7d, 0x19, - 0x49, 0x83, 0x60, 0x1b, 0xea, 0x53, 0xee, 0xbd, 0xe5, 0xd1, 0x2b, 0xbe, 0x0a, 0xa9, 0xa1, 0x21, - 0x42, 0x2b, 0x11, 0x3b, 0xe2, 0xe1, 0x22, 0xf0, 0xdd, 0xc8, 0xd0, 0xd1, 0x80, 0xfa, 0x38, 0x6e, - 0x3c, 0x5b, 0x2c, 0x24, 0x8b, 0x8c, 0x1f, 0xda, 0xf0, 0x17, 0x81, 0x5a, 0x3e, 0x1f, 0x9f, 0x43, - 0x25, 0x71, 0x00, 0x9e, 0x14, 0x85, 0x15, 0x7c, 0xd1, 0x31, 0x8a, 0xe4, 0xec, 0x12, 0x5f, 0x40, - 0x2d, 0x37, 0x01, 0x5a, 0x7b, 0xb5, 0x05, 0x77, 0xdc, 0x52, 0xfe, 0x1a, 0xaa, 0xd9, 0x71, 0xf0, - 0x7e, 0x91, 0xfd, 0xc7, 0x03, 0x9d, 0x93, 0xdb, 0x69, 0x75, 0xd3, 0x1e, 0x79, 0x4a, 0x5e, 0x3e, - 0xfe, 0xb9, 0xb1, 0xc8, 0xcd, 0xc6, 0x22, 0x7f, 0x36, 0x16, 0xf9, 0xbe, 0xb5, 0x4a, 0x37, 0x5b, - 0xab, 0xf4, 0x7b, 0x6b, 0x95, 0x3e, 0xb4, 0x07, 0xc5, 0x0f, 0xfa, 0x53, 0x45, 0xfd, 0x9d, 0xfd, - 0x0d, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x39, 0x8f, 0xb0, 0xe9, 0x03, 0x00, 0x00, -} - -func (m *Log) 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 *Log) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Log) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Records) > 0 { - for iNdEx := len(m.Records) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Records[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintConsensus(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Record) 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 *Record) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Record) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CreatedUnix != 0 { - i = encodeVarintConsensus(dAtA, i, uint64(m.CreatedUnix)) - i-- - dAtA[i] = 0x20 - } - if len(m.Payload) > 0 { - i -= len(m.Payload) - copy(dAtA[i:], m.Payload) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.Payload))) - i-- - dAtA[i] = 0x1a - } - if len(m.PrevId) > 0 { - i -= len(m.PrevId) - copy(dAtA[i:], m.PrevId) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.PrevId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Ok) 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 *Ok) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Ok) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *AddLogRequest) 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 *AddLogRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AddLogRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Log != nil { - { - size, err := m.Log.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintConsensus(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AddRecordRequest) 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 *AddRecordRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AddRecordRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Record != nil { - { - size, err := m.Record.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintConsensus(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.LogId) > 0 { - i -= len(m.LogId) - copy(dAtA[i:], m.LogId) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.LogId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *WatchLogRequest) 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 *WatchLogRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WatchLogRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.UnwatchIds) > 0 { - for iNdEx := len(m.UnwatchIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UnwatchIds[iNdEx]) - copy(dAtA[i:], m.UnwatchIds[iNdEx]) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.UnwatchIds[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.WatchIds) > 0 { - for iNdEx := len(m.WatchIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.WatchIds[iNdEx]) - copy(dAtA[i:], m.WatchIds[iNdEx]) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.WatchIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *WatchLogEvent) 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 *WatchLogEvent) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WatchLogEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Error != nil { - { - size, err := m.Error.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintConsensus(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if len(m.Records) > 0 { - for iNdEx := len(m.Records) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Records[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintConsensus(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.LogId) > 0 { - i -= len(m.LogId) - copy(dAtA[i:], m.LogId) - i = encodeVarintConsensus(dAtA, i, uint64(len(m.LogId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Err) 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 *Err) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Err) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Error != 0 { - i = encodeVarintConsensus(dAtA, i, uint64(m.Error)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintConsensus(dAtA []byte, offset int, v uint64) int { - offset -= sovConsensus(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Log) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovConsensus(uint64(l)) - } - if len(m.Records) > 0 { - for _, e := range m.Records { - l = e.Size() - n += 1 + l + sovConsensus(uint64(l)) - } - } - return n -} - -func (m *Record) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovConsensus(uint64(l)) - } - l = len(m.PrevId) - if l > 0 { - n += 1 + l + sovConsensus(uint64(l)) - } - l = len(m.Payload) - if l > 0 { - n += 1 + l + sovConsensus(uint64(l)) - } - if m.CreatedUnix != 0 { - n += 1 + sovConsensus(uint64(m.CreatedUnix)) - } - return n -} - -func (m *Ok) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *AddLogRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Log != nil { - l = m.Log.Size() - n += 1 + l + sovConsensus(uint64(l)) - } - return n -} - -func (m *AddRecordRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.LogId) - if l > 0 { - n += 1 + l + sovConsensus(uint64(l)) - } - if m.Record != nil { - l = m.Record.Size() - n += 1 + l + sovConsensus(uint64(l)) - } - return n -} - -func (m *WatchLogRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.WatchIds) > 0 { - for _, b := range m.WatchIds { - l = len(b) - n += 1 + l + sovConsensus(uint64(l)) - } - } - if len(m.UnwatchIds) > 0 { - for _, b := range m.UnwatchIds { - l = len(b) - n += 1 + l + sovConsensus(uint64(l)) - } - } - return n -} - -func (m *WatchLogEvent) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.LogId) - if l > 0 { - n += 1 + l + sovConsensus(uint64(l)) - } - if len(m.Records) > 0 { - for _, e := range m.Records { - l = e.Size() - n += 1 + l + sovConsensus(uint64(l)) - } - } - if m.Error != nil { - l = m.Error.Size() - n += 1 + l + sovConsensus(uint64(l)) - } - return n -} - -func (m *Err) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Error != 0 { - n += 1 + sovConsensus(uint64(m.Error)) - } - return n -} - -func sovConsensus(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozConsensus(x uint64) (n int) { - return sovConsensus(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Log) 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 ErrIntOverflowConsensus - } - 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: Log: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Log: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = append(m.Id[:0], dAtA[iNdEx:postIndex]...) - if m.Id == nil { - m.Id = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Records = append(m.Records, &Record{}) - if err := m.Records[len(m.Records)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Record) 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 ErrIntOverflowConsensus - } - 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: Record: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Record: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = append(m.Id[:0], dAtA[iNdEx:postIndex]...) - if m.Id == nil { - m.Id = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PrevId", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PrevId = append(m.PrevId[:0], dAtA[iNdEx:postIndex]...) - if m.PrevId == nil { - m.PrevId = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...) - if m.Payload == nil { - m.Payload = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedUnix", wireType) - } - m.CreatedUnix = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CreatedUnix |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Ok) 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 ErrIntOverflowConsensus - } - 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: Ok: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Ok: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AddLogRequest) 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 ErrIntOverflowConsensus - } - 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: AddLogRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AddLogRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Log == nil { - m.Log = &Log{} - } - if err := m.Log.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AddRecordRequest) 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 ErrIntOverflowConsensus - } - 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: AddRecordRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AddRecordRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LogId", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LogId = append(m.LogId[:0], dAtA[iNdEx:postIndex]...) - if m.LogId == nil { - m.LogId = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Record", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Record == nil { - m.Record = &Record{} - } - if err := m.Record.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *WatchLogRequest) 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 ErrIntOverflowConsensus - } - 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: WatchLogRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: WatchLogRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WatchIds", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.WatchIds = append(m.WatchIds, make([]byte, postIndex-iNdEx)) - copy(m.WatchIds[len(m.WatchIds)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UnwatchIds", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UnwatchIds = append(m.UnwatchIds, make([]byte, postIndex-iNdEx)) - copy(m.UnwatchIds[len(m.UnwatchIds)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *WatchLogEvent) 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 ErrIntOverflowConsensus - } - 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: WatchLogEvent: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: WatchLogEvent: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LogId", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LogId = append(m.LogId[:0], dAtA[iNdEx:postIndex]...) - if m.LogId == nil { - m.LogId = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Records = append(m.Records, &Record{}) - if err := m.Records[len(m.Records)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthConsensus - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthConsensus - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Error == nil { - m.Error = &Err{} - } - if err := m.Error.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Err) 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 ErrIntOverflowConsensus - } - 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: Err: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Err: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) - } - m.Error = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowConsensus - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Error |= ErrCodes(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipConsensus(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthConsensus - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipConsensus(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowConsensus - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowConsensus - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowConsensus - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthConsensus - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupConsensus - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthConsensus - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthConsensus = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowConsensus = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupConsensus = fmt.Errorf("proto: unexpected end of group") -) diff --git a/consensus/consensusproto/consensus_drpc.pb.go b/consensus/consensusproto/consensus_drpc.pb.go deleted file mode 100644 index c5ee4056..00000000 --- a/consensus/consensusproto/consensus_drpc.pb.go +++ /dev/null @@ -1,228 +0,0 @@ -// Code generated by protoc-gen-go-drpc. DO NOT EDIT. -// protoc-gen-go-drpc version: v0.0.32 -// source: consensusproto/protos/consensus.proto - -package consensusproto - -import ( - bytes "bytes" - context "context" - errors "errors" - jsonpb "github.com/gogo/protobuf/jsonpb" - proto "github.com/gogo/protobuf/proto" - drpc "storj.io/drpc" - drpcerr "storj.io/drpc/drpcerr" -) - -type drpcEncoding_File_consensusproto_protos_consensus_proto struct{} - -func (drpcEncoding_File_consensusproto_protos_consensus_proto) Marshal(msg drpc.Message) ([]byte, error) { - return proto.Marshal(msg.(proto.Message)) -} - -func (drpcEncoding_File_consensusproto_protos_consensus_proto) Unmarshal(buf []byte, msg drpc.Message) error { - return proto.Unmarshal(buf, msg.(proto.Message)) -} - -func (drpcEncoding_File_consensusproto_protos_consensus_proto) JSONMarshal(msg drpc.Message) ([]byte, error) { - var buf bytes.Buffer - err := new(jsonpb.Marshaler).Marshal(&buf, msg.(proto.Message)) - if err != nil { - return nil, err - } - return buf.Bytes(), nil -} - -func (drpcEncoding_File_consensusproto_protos_consensus_proto) JSONUnmarshal(buf []byte, msg drpc.Message) error { - return jsonpb.Unmarshal(bytes.NewReader(buf), msg.(proto.Message)) -} - -type DRPCConsensusClient interface { - DRPCConn() drpc.Conn - - AddLog(ctx context.Context, in *AddLogRequest) (*Ok, error) - AddRecord(ctx context.Context, in *AddRecordRequest) (*Ok, error) - WatchLog(ctx context.Context) (DRPCConsensus_WatchLogClient, error) -} - -type drpcConsensusClient struct { - cc drpc.Conn -} - -func NewDRPCConsensusClient(cc drpc.Conn) DRPCConsensusClient { - return &drpcConsensusClient{cc} -} - -func (c *drpcConsensusClient) DRPCConn() drpc.Conn { return c.cc } - -func (c *drpcConsensusClient) AddLog(ctx context.Context, in *AddLogRequest) (*Ok, error) { - out := new(Ok) - err := c.cc.Invoke(ctx, "/anyConsensus.Consensus/AddLog", drpcEncoding_File_consensusproto_protos_consensus_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcConsensusClient) AddRecord(ctx context.Context, in *AddRecordRequest) (*Ok, error) { - out := new(Ok) - err := c.cc.Invoke(ctx, "/anyConsensus.Consensus/AddRecord", drpcEncoding_File_consensusproto_protos_consensus_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcConsensusClient) WatchLog(ctx context.Context) (DRPCConsensus_WatchLogClient, error) { - stream, err := c.cc.NewStream(ctx, "/anyConsensus.Consensus/WatchLog", drpcEncoding_File_consensusproto_protos_consensus_proto{}) - if err != nil { - return nil, err - } - x := &drpcConsensus_WatchLogClient{stream} - return x, nil -} - -type DRPCConsensus_WatchLogClient interface { - drpc.Stream - Send(*WatchLogRequest) error - Recv() (*WatchLogEvent, error) -} - -type drpcConsensus_WatchLogClient struct { - drpc.Stream -} - -func (x *drpcConsensus_WatchLogClient) Send(m *WatchLogRequest) error { - return x.MsgSend(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}) -} - -func (x *drpcConsensus_WatchLogClient) Recv() (*WatchLogEvent, error) { - m := new(WatchLogEvent) - if err := x.MsgRecv(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}); err != nil { - return nil, err - } - return m, nil -} - -func (x *drpcConsensus_WatchLogClient) RecvMsg(m *WatchLogEvent) error { - return x.MsgRecv(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}) -} - -type DRPCConsensusServer interface { - AddLog(context.Context, *AddLogRequest) (*Ok, error) - AddRecord(context.Context, *AddRecordRequest) (*Ok, error) - WatchLog(DRPCConsensus_WatchLogStream) error -} - -type DRPCConsensusUnimplementedServer struct{} - -func (s *DRPCConsensusUnimplementedServer) AddLog(context.Context, *AddLogRequest) (*Ok, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCConsensusUnimplementedServer) AddRecord(context.Context, *AddRecordRequest) (*Ok, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCConsensusUnimplementedServer) WatchLog(DRPCConsensus_WatchLogStream) error { - return drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -type DRPCConsensusDescription struct{} - -func (DRPCConsensusDescription) NumMethods() int { return 3 } - -func (DRPCConsensusDescription) Method(n int) (string, drpc.Encoding, drpc.Receiver, interface{}, bool) { - switch n { - case 0: - return "/anyConsensus.Consensus/AddLog", drpcEncoding_File_consensusproto_protos_consensus_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCConsensusServer). - AddLog( - ctx, - in1.(*AddLogRequest), - ) - }, DRPCConsensusServer.AddLog, true - case 1: - return "/anyConsensus.Consensus/AddRecord", drpcEncoding_File_consensusproto_protos_consensus_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCConsensusServer). - AddRecord( - ctx, - in1.(*AddRecordRequest), - ) - }, DRPCConsensusServer.AddRecord, true - case 2: - return "/anyConsensus.Consensus/WatchLog", drpcEncoding_File_consensusproto_protos_consensus_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return nil, srv.(DRPCConsensusServer). - WatchLog( - &drpcConsensus_WatchLogStream{in1.(drpc.Stream)}, - ) - }, DRPCConsensusServer.WatchLog, true - default: - return "", nil, nil, nil, false - } -} - -func DRPCRegisterConsensus(mux drpc.Mux, impl DRPCConsensusServer) error { - return mux.Register(impl, DRPCConsensusDescription{}) -} - -type DRPCConsensus_AddLogStream interface { - drpc.Stream - SendAndClose(*Ok) error -} - -type drpcConsensus_AddLogStream struct { - drpc.Stream -} - -func (x *drpcConsensus_AddLogStream) SendAndClose(m *Ok) error { - if err := x.MsgSend(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCConsensus_AddRecordStream interface { - drpc.Stream - SendAndClose(*Ok) error -} - -type drpcConsensus_AddRecordStream struct { - drpc.Stream -} - -func (x *drpcConsensus_AddRecordStream) SendAndClose(m *Ok) error { - if err := x.MsgSend(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCConsensus_WatchLogStream interface { - drpc.Stream - Send(*WatchLogEvent) error - Recv() (*WatchLogRequest, error) -} - -type drpcConsensus_WatchLogStream struct { - drpc.Stream -} - -func (x *drpcConsensus_WatchLogStream) Send(m *WatchLogEvent) error { - return x.MsgSend(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}) -} - -func (x *drpcConsensus_WatchLogStream) Recv() (*WatchLogRequest, error) { - m := new(WatchLogRequest) - if err := x.MsgRecv(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}); err != nil { - return nil, err - } - return m, nil -} - -func (x *drpcConsensus_WatchLogStream) RecvMsg(m *WatchLogRequest) error { - return x.MsgRecv(m, drpcEncoding_File_consensusproto_protos_consensus_proto{}) -} diff --git a/consensus/consensusproto/consensuserr/errors.go b/consensus/consensusproto/consensuserr/errors.go deleted file mode 100644 index f0ff33a6..00000000 --- a/consensus/consensusproto/consensuserr/errors.go +++ /dev/null @@ -1,16 +0,0 @@ -package consensuserr - -import ( - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/rpcerr" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" -) - -var ( - errGroup = rpcerr.ErrGroup(consensusproto.ErrCodes_ErrorOffset) - - ErrUnexpected = errGroup.Register(fmt.Errorf("unexpected consensus error"), uint64(consensusproto.ErrCodes_Unexpected)) - ErrConflict = errGroup.Register(fmt.Errorf("records conflict"), uint64(consensusproto.ErrCodes_RecordConflict)) - ErrLogExists = errGroup.Register(fmt.Errorf("log exists"), uint64(consensusproto.ErrCodes_LogExists)) - ErrLogNotFound = errGroup.Register(fmt.Errorf("log not found"), uint64(consensusproto.ErrCodes_LogNotFound)) -) diff --git a/consensus/consensusproto/protos/consensus.proto b/consensus/consensusproto/protos/consensus.proto deleted file mode 100644 index 17a1bce0..00000000 --- a/consensus/consensusproto/protos/consensus.proto +++ /dev/null @@ -1,60 +0,0 @@ -syntax = "proto3"; -package anyConsensus; - -option go_package = "/consensusproto"; - -enum ErrCodes { - Unexpected = 0; - LogExists = 1; - LogNotFound = 2; - RecordConflict = 3; - ErrorOffset = 300; -} - - -message Log { - bytes id = 1; - repeated Record records = 2; -} - -message Record { - bytes id = 1; - bytes prevId = 2; - bytes payload = 3; - uint64 createdUnix = 4; -} - -service Consensus { - // AddLog adds new log to consensus - rpc AddLog(AddLogRequest) returns (Ok); - // AddRecord adds new record to log - rpc AddRecord(AddRecordRequest) returns (Ok); - // WatchLog fetches log and subscribes for a changes - rpc WatchLog(stream WatchLogRequest) returns (stream WatchLogEvent); -} - -message Ok {} - -message AddLogRequest { - Log log = 1; -} - -message AddRecordRequest { - bytes logId = 1; - Record record = 2; -} - -message WatchLogRequest { - repeated bytes watchIds = 1; - repeated bytes unwatchIds = 2; -} - -message WatchLogEvent { - bytes logId = 1; - repeated Record records = 2; - Err error = 3; -} - -message Err { - ErrCodes error = 1; -} \ No newline at end of file diff --git a/consensus/consensusrpc/consensrpc.go b/consensus/consensusrpc/consensrpc.go deleted file mode 100644 index bee34062..00000000 --- a/consensus/consensusrpc/consensrpc.go +++ /dev/null @@ -1,134 +0,0 @@ -package consensusrpc - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto/consensuserr" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/stream" - "storj.io/drpc/drpcerr" - "time" -) - -const CName = "consensus.consensusrpc" - -func New() app.Component { - return &consensusRpc{} -} - -// consensusRpc implements consensus rpc server -type consensusRpc struct { - db db.Service - stream stream.Service -} - -func (c *consensusRpc) Init(a *app.App) (err error) { - c.db = a.MustComponent(db.CName).(db.Service) - c.stream = a.MustComponent(stream.CName).(stream.Service) - return consensusproto.DRPCRegisterConsensus(a.MustComponent(server.CName).(server.DRPCServer), c) -} - -func (c *consensusRpc) Name() (name string) { - return CName -} - -func (c *consensusRpc) AddLog(ctx context.Context, req *consensusproto.AddLogRequest) (*consensusproto.Ok, error) { - if err := c.db.AddLog(ctx, logFromProto(req.Log)); err != nil { - return nil, err - } - return &consensusproto.Ok{}, nil -} - -func (c *consensusRpc) AddRecord(ctx context.Context, req *consensusproto.AddRecordRequest) (*consensusproto.Ok, error) { - if err := c.db.AddRecord(ctx, req.LogId, recordFromProto(req.Record)); err != nil { - return nil, err - } - return &consensusproto.Ok{}, nil -} - -func (c *consensusRpc) WatchLog(rpcStream consensusproto.DRPCConsensus_WatchLogStream) error { - stream := c.stream.NewStream() - defer stream.Close() - go c.readStream(stream, rpcStream) - for { - recs := stream.WaitLogs() - if len(recs) == 0 { - return rpcStream.Close() - } - for _, rec := range recs { - if rec.Err == nil { - if err := rpcStream.Send(&consensusproto.WatchLogEvent{ - LogId: rec.Id, - Records: recordsToProto(rec.Records), - }); err != nil { - return err - } - } else { - errCode := consensusproto.ErrCodes(drpcerr.Code(rec.Err)) - if errCode == 0 { - errCode = consensusproto.ErrCodes(drpcerr.Code(consensuserr.ErrUnexpected)) - } - if err := rpcStream.Send(&consensusproto.WatchLogEvent{ - LogId: rec.Id, - Error: &consensusproto.Err{ - Error: errCode, - }, - }); err != nil { - return err - } - } - } - } -} - -func (c *consensusRpc) readStream(st *stream.Stream, rpcStream consensusproto.DRPCConsensus_WatchLogStream) { - defer st.Close() - for { - req, err := rpcStream.Recv() - if err != nil { - return - } - st.UnwatchIds(rpcStream.Context(), req.UnwatchIds) - st.WatchIds(rpcStream.Context(), req.WatchIds) - } -} - -func logFromProto(log *consensusproto.Log) consensus.Log { - return consensus.Log{ - Id: log.Id, - Records: recordsFromProto(log.Records), - } -} - -func recordsFromProto(recs []*consensusproto.Record) []consensus.Record { - res := make([]consensus.Record, len(recs)) - for i, rec := range recs { - res[i] = recordFromProto(rec) - } - return res -} - -func recordFromProto(rec *consensusproto.Record) consensus.Record { - return consensus.Record{ - Id: rec.Id, - PrevId: rec.PrevId, - Payload: rec.Payload, - Created: time.Unix(int64(rec.CreatedUnix), 0), - } -} - -func recordsToProto(recs []consensus.Record) []*consensusproto.Record { - res := make([]*consensusproto.Record, len(recs)) - for i, rec := range recs { - res[i] = &consensusproto.Record{ - Id: rec.Id, - PrevId: rec.PrevId, - Payload: rec.Payload, - CreatedUnix: uint64(rec.Created.Unix()), - } - } - return res -} diff --git a/consensus/db/db.go b/consensus/db/db.go deleted file mode 100644 index ac34d6a8..00000000 --- a/consensus/db/db.go +++ /dev/null @@ -1,188 +0,0 @@ -package db - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto/consensuserr" - "go.mongodb.org/mongo-driver/mongo" - "go.mongodb.org/mongo-driver/mongo/options" - "go.uber.org/zap" -) - -const CName = "consensus.db" - -var log = logger.NewNamed(CName) - -func New() Service { - return &service{} -} - -type ChangeReceiver func(logId []byte, records []consensus.Record) - -type Service interface { - // AddLog adds new log db - AddLog(ctx context.Context, log consensus.Log) (err error) - // AddRecord adds new record to existing log - // returns consensuserr.ErrConflict if record didn't match or log not found - AddRecord(ctx context.Context, logId []byte, record consensus.Record) (err error) - // FetchLog gets log by id - FetchLog(ctx context.Context, logId []byte) (log consensus.Log, err error) - // SetChangeReceiver sets the receiver for updates, it must be called before app.Run stage - SetChangeReceiver(receiver ChangeReceiver) (err error) - app.ComponentRunnable -} - -type service struct { - conf config.Mongo - logColl *mongo.Collection - running bool - changeReceiver ChangeReceiver - - streamCtx context.Context - streamCancel context.CancelFunc - listenerDone chan struct{} -} - -func (s *service) Init(a *app.App) (err error) { - s.conf = a.MustComponent(config.CName).(*config.Config).Mongo - return nil -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Run(ctx context.Context) (err error) { - client, err := mongo.Connect(ctx, options.Client().ApplyURI(s.conf.Connect)) - if err != nil { - return err - } - s.logColl = client.Database(s.conf.Database).Collection(s.conf.LogCollection) - s.running = true - if s.changeReceiver != nil { - if err = s.runStreamListener(ctx); err != nil { - return err - } - } - return -} - -func (s *service) AddLog(ctx context.Context, l consensus.Log) (err error) { - _, err = s.logColl.InsertOne(ctx, l) - if mongo.IsDuplicateKeyError(err) { - return consensuserr.ErrLogExists - } - return -} - -type findLogQuery struct { - Id []byte `bson:"_id"` -} - -type findRecordQuery struct { - Id []byte `bson:"_id"` - LastRecordId []byte `bson:"records.0.id"` -} - -type updateOp struct { - Push struct { - Records struct { - Each []consensus.Record `bson:"$each"` - Pos int `bson:"$position"` - } `bson:"records"` - } `bson:"$push"` -} - -func (s *service) AddRecord(ctx context.Context, logId []byte, record consensus.Record) (err error) { - var upd updateOp - upd.Push.Records.Each = []consensus.Record{record} - result, err := s.logColl.UpdateOne(ctx, findRecordQuery{ - Id: logId, - LastRecordId: record.PrevId, - }, upd) - if err != nil { - log.Error("addRecord update error", zap.Error(err)) - return consensuserr.ErrUnexpected - } - if result.ModifiedCount == 0 { - return consensuserr.ErrConflict - } - return -} - -func (s *service) FetchLog(ctx context.Context, logId []byte) (l consensus.Log, err error) { - if err = s.logColl.FindOne(ctx, findLogQuery{Id: logId}).Decode(&l); err != nil { - if err == mongo.ErrNoDocuments { - err = consensuserr.ErrLogNotFound - } - return - } - return -} - -func (s *service) SetChangeReceiver(receiver ChangeReceiver) (err error) { - if s.running { - return fmt.Errorf("set receiver must be called before Run") - } - s.changeReceiver = receiver - return -} - -type matchPipeline struct { - Match struct { - OT string `bson:"operationType"` - } `bson:"$match"` -} - -func (s *service) runStreamListener(ctx context.Context) (err error) { - var mp matchPipeline - mp.Match.OT = "update" - stream, err := s.logColl.Watch(ctx, []matchPipeline{mp}) - if err != nil { - return - } - s.listenerDone = make(chan struct{}) - s.streamCtx, s.streamCancel = context.WithCancel(context.Background()) - go s.streamListener(stream) - return -} - -type streamResult struct { - DocumentKey struct { - Id []byte `bson:"_id"` - } `bson:"documentKey"` - UpdateDescription struct { - UpdateFields struct { - Records []consensus.Record `bson:"records"` - } `bson:"updatedFields"` - } `bson:"updateDescription"` -} - -func (s *service) streamListener(stream *mongo.ChangeStream) { - defer close(s.listenerDone) - for stream.Next(s.streamCtx) { - var res streamResult - if err := stream.Decode(&res); err != nil { - // mongo driver maintains connections and handles reconnects so that the stream will work as usual in these cases - // here we have an unexpected error and should stop any operations to avoid an inconsistent state between db and cache - log.Fatal("stream decode error:", zap.Error(err)) - } - s.changeReceiver(res.DocumentKey.Id, res.UpdateDescription.UpdateFields.Records) - } -} - -func (s *service) Close(ctx context.Context) (err error) { - if s.logColl != nil { - err = s.logColl.Database().Client().Disconnect(ctx) - s.logColl = nil - } - if s.listenerDone != nil { - s.streamCancel() - <-s.listenerDone - } - return -} diff --git a/consensus/db/db_test.go b/consensus/db/db_test.go deleted file mode 100644 index 58acfef7..00000000 --- a/consensus/db/db_test.go +++ /dev/null @@ -1,218 +0,0 @@ -package db - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto/consensuserr" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "testing" - "time" -) - -var ctx = context.Background() - -func TestService_AddLog(t *testing.T) { - t.Run("success", func(t *testing.T) { - fx := newFixture(t, nil) - defer fx.Finish(t) - log := consensus.Log{ - Id: []byte("logOne"), - Records: []consensus.Record{ - { - Id: []byte("recordOne"), - PrevId: nil, - Payload: []byte("payload"), - Created: time.Now().Truncate(time.Second).UTC(), - }, - }, - } - require.NoError(t, fx.AddLog(ctx, log)) - fetched, err := fx.FetchLog(ctx, log.Id) - require.NoError(t, err) - assert.Equal(t, log, fetched) - }) - t.Run("duplicate error", func(t *testing.T) { - fx := newFixture(t, nil) - defer fx.Finish(t) - log := consensus.Log{ - Id: []byte("logOne"), - } - require.NoError(t, fx.AddLog(ctx, log)) - // TODO: check for specified error - require.Error(t, fx.AddLog(ctx, log)) - }) -} - -func TestService_AddRecord(t *testing.T) { - t.Run("success", func(t *testing.T) { - fx := newFixture(t, nil) - defer fx.Finish(t) - var records = []consensus.Record{ - { - Id: []byte("2"), - PrevId: []byte("1"), - }, - { - Id: []byte("3"), - PrevId: []byte("2"), - }, - { - Id: []byte("4"), - PrevId: []byte("3"), - }, - } - l := consensus.Log{ - Id: []byte("logTestRecords"), - Records: []consensus.Record{ - { - Id: []byte("1"), - }, - }, - } - require.NoError(t, fx.AddLog(ctx, l)) - for _, rec := range records { - require.NoError(t, fx.AddRecord(ctx, l.Id, rec)) - } - fx.assertLogValid(t, l.Id, 4) - }) - t.Run("conflict", func(t *testing.T) { - fx := newFixture(t, nil) - defer fx.Finish(t) - log := consensus.Log{ - Id: []byte("logTestRecords"), - Records: []consensus.Record{ - { - Id: []byte("1"), - }, - }, - } - require.NoError(t, fx.AddLog(ctx, log)) - assert.Error(t, fx.AddRecord(ctx, log.Id, consensus.Record{Id: []byte("2"), PrevId: []byte("3")})) - }) -} - -func TestService_FetchLog(t *testing.T) { - t.Run("not found", func(t *testing.T) { - fx := newFixture(t, nil) - defer fx.Finish(t) - l, err := fx.FetchLog(ctx, []byte("not exists")) - assert.Empty(t, l) - assert.ErrorIs(t, err, consensuserr.ErrLogNotFound) - }) -} - -func TestService_ChangeReceive(t *testing.T) { - t.Run("set after run", func(t *testing.T) { - fx := newFixture(t, nil) - defer fx.Finish(t) - assert.Error(t, fx.SetChangeReceiver(func(logId []byte, records []consensus.Record) {})) - }) - t.Run("receive changes", func(t *testing.T) { - var logs = make(chan consensus.Log, 10) - var count int - fx := newFixture(t, func(logId []byte, records []consensus.Record) { - logs <- consensus.Log{Id: logId, Records: records} - count++ - }) - defer fx.Finish(t) - var l = consensus.Log{ - Id: []byte("logTestStream"), - Records: []consensus.Record{ - { - Id: []byte("1"), - }, - }, - } - var records = []consensus.Record{ - { - Id: []byte("2"), - PrevId: []byte("1"), - }, - { - Id: []byte("3"), - PrevId: []byte("2"), - }, - { - Id: []byte("4"), - PrevId: []byte("3"), - }, - } - require.NoError(t, fx.AddLog(ctx, l)) - assert.Empty(t, count) - - for _, rec := range records { - require.NoError(t, fx.AddRecord(ctx, l.Id, rec)) - } - - timeout := time.After(time.Second) - for i := 0; i < len(records); i++ { - select { - case resLog := <-logs: - assertLogValid(t, resLog, i+2) - case <-timeout: - require.False(t, true) - } - } - }) -} - -func newFixture(t *testing.T, cr ChangeReceiver) *fixture { - ctx, cancel := context.WithTimeout(ctx, time.Second) - fx := &fixture{ - Service: New(), - cancel: cancel, - a: new(app.App), - } - fx.a.Register(&config.Config{ - Mongo: config.Mongo{ - Connect: "mongodb://localhost:27017/?w=majority", - Database: "consensus_test", - LogCollection: "log", - }, - }) - fx.a.Register(fx.Service) - require.NoError(t, fx.Service.SetChangeReceiver(cr)) - err := fx.a.Start(ctx) - if err != nil { - fx.cancel() - } - require.NoError(t, err) - return fx -} - -type fixture struct { - Service - a *app.App - cancel context.CancelFunc -} - -func (fx *fixture) Finish(t *testing.T) { - if fx.cancel != nil { - fx.cancel() - } - coll := fx.Service.(*service).logColl - t.Log(coll.Drop(ctx)) - assert.NoError(t, fx.a.Close(ctx)) -} - -func (fx *fixture) assertLogValid(t *testing.T, logId []byte, count int) { - log, err := fx.FetchLog(ctx, logId) - require.NoError(t, err) - assertLogValid(t, log, count) -} - -func assertLogValid(t *testing.T, log consensus.Log, count int) { - if count >= 0 { - assert.Len(t, log.Records, count) - } - var prevId []byte - for _, rec := range log.Records { - if len(prevId) != 0 { - assert.Equal(t, string(prevId), string(rec.Id)) - } - prevId = rec.PrevId - } -} diff --git a/consensus/go.mod b/consensus/go.mod deleted file mode 100644 index f17238ee..00000000 --- a/consensus/go.mod +++ /dev/null @@ -1,69 +0,0 @@ -module github.com/anytypeio/go-anytype-infrastructure-experiments/consensus - -go 1.19 - -replace github.com/anytypeio/go-anytype-infrastructure-experiments/common => ../common - -require ( - github.com/anytypeio/go-anytype-infrastructure-experiments/common v0.0.0-00010101000000-000000000000 - github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c - github.com/gogo/protobuf v1.3.2 - github.com/golang/mock v1.6.0 - github.com/mr-tron/base58 v1.2.0 - github.com/stretchr/testify v1.8.1 - go.mongodb.org/mongo-driver v1.10.3 - go.uber.org/zap v1.24.0 - gopkg.in/yaml.v3 v3.0.1 - storj.io/drpc v0.0.32 -) - -require ( - github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/golang/snappy v0.0.1 // indirect - github.com/ipfs/go-cid v0.3.2 // indirect - github.com/ipfs/go-log/v2 v2.5.1 // indirect - github.com/klauspost/compress v1.15.10 // indirect - github.com/klauspost/cpuid/v2 v2.2.2 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.23.2 // indirect - github.com/libp2p/go-openssl v0.1.0 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mattn/go-pointer v0.0.1 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/minio/sha256-simd v1.0.0 // indirect - github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe // indirect - github.com/multiformats/go-base32 v0.1.0 // indirect - github.com/multiformats/go-base36 v0.2.0 // indirect - github.com/multiformats/go-multiaddr v0.7.0 // indirect - github.com/multiformats/go-multibase v0.1.1 // indirect - github.com/multiformats/go-multicodec v0.6.0 // indirect - github.com/multiformats/go-multihash v0.2.1 // indirect - github.com/multiformats/go-varint v0.0.7 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.13.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect - github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/xdg-go/pbkdf2 v1.0.0 // indirect - github.com/xdg-go/scram v1.1.1 // indirect - github.com/xdg-go/stringprep v1.0.3 // indirect - github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect - github.com/zeebo/errs v1.3.0 // indirect - go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.4.0 // indirect - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect - golang.org/x/sys v0.3.0 // indirect - golang.org/x/text v0.5.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect - lukechampine.com/blake3 v1.1.7 // indirect -) diff --git a/consensus/go.sum b/consensus/go.sum deleted file mode 100644 index b1a4489d..00000000 --- a/consensus/go.sum +++ /dev/null @@ -1,618 +0,0 @@ -cloud.google.com/go v0.26.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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232 h1:kMPPZYmJgbs4AJfodbg2OCXg5cp+9LPAJcLZJqmcghk= -github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232/go.mod h1:+PeHBAWp7gUh/yw6uAauKc5ku0w4cFNg6DUddGxoGq0= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c h1:+bD75daSbsxyTzkKpNplC4xls+7/tGwty+zruzOnOmk= -github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c/go.mod h1:zCt2QeYukhd/g0bIdNqF+b/kKz1hnLFNDkP49qN5kqI= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -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/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/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -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/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -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.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -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/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/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/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc= -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw= -github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= -github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.10 h1:Ai8UzuomSCDw90e1qNMtb15msBXsNpH6gzkkENQNcJo= -github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.2 h1:xPMwiykqNK9VK0NYC3+jTMYv9I6Vl3YdjZgPZKG3zO0= -github.com/klauspost/cpuid/v2 v2.2.2/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -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/pty v1.1.1/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-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/libp2p/go-libp2p v0.23.2 h1:yqyTeKQJyofWXxEv/eEVUvOrGdt/9x+0PIQ4N1kaxmE= -github.com/libp2p/go-libp2p v0.23.2/go.mod h1:s9DEa5NLR4g+LZS+md5uGU4emjMWFiqkZr6hBTY8UxI= -github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo= -github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= -github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -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.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= -github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= -github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= -github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= -github.com/multiformats/go-multiaddr v0.7.0 h1:gskHcdaCyPtp9XskVwtvEeQOG465sCohbQIirSyqxrc= -github.com/multiformats/go-multiaddr v0.7.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs= -github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI= -github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8= -github.com/multiformats/go-multicodec v0.6.0 h1:KhH2kSuCARyuJraYMFxrNO3DqIaYhOdS039kbhgVwpE= -github.com/multiformats/go-multicodec v0.6.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw= -github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= -github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= -github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= -github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= -github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -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/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -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/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/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -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/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E= -github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= -github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs= -github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= -github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs= -github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= -go.mongodb.org/mongo-driver v1.10.3 h1:XDQEvmh6z1EUsXuIkXE9TaVeqHw6SwS1uf93jFs0HBA= -go.mongodb.org/mongo-driver v1.10.3/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -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-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/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-20181114220301-adae6a3d119a/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-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/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-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -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/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/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -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/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/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-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/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-20191125144606-a911d9008d1f/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-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/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-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -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/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/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-20190418145605-e7d98fc518a7/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-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/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.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -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.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -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= -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/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/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -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-20190418001031-e561f6794a2a/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/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= -lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -storj.io/drpc v0.0.32 h1:5p5ZwsK/VOgapaCu+oxaPVwO6UwIs+iwdMiD50+R4PI= -storj.io/drpc v0.0.32/go.mod h1:6rcOyR/QQkSTX/9L5ZGtlZaE2PtXTTZl8d+ulSeeYEg= diff --git a/consensus/stream/object.go b/consensus/stream/object.go deleted file mode 100644 index 22164911..00000000 --- a/consensus/stream/object.go +++ /dev/null @@ -1,66 +0,0 @@ -package stream - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" - "sync" -) - -// object is a cache entry that holds the actual log state and maintains added streams -type object struct { - logId []byte - records []consensus.Record - - streams map[uint64]*Stream - - mu sync.Mutex -} - -// AddRecords adds new records to the log and sends new records to streams -// The records source is db and called via stream.Service -func (o *object) AddRecords(recs []consensus.Record) { - o.mu.Lock() - defer o.mu.Unlock() - - if len(recs) <= len(o.records) { - return - } - diff := recs[0 : len(recs)-len(o.records)] - o.records = recs - for _, st := range o.streams { - _ = st.AddRecords(o.logId, diff) - } -} - -// Records returns all log records -func (o *object) Records() []consensus.Record { - o.mu.Lock() - defer o.mu.Unlock() - return o.records -} - -// AddStream adds stream to the object -func (o *object) AddStream(s *Stream) { - o.mu.Lock() - defer o.mu.Unlock() - o.streams[s.id] = s - _ = s.AddRecords(o.logId, o.records) - return -} - -// RemoveStream remove stream from object -func (o *object) RemoveStream(id uint64) { - o.mu.Lock() - defer o.mu.Unlock() - delete(o.streams, id) -} - -// Locked indicates that object can be garbage collected -func (o *object) Locked() bool { - o.mu.Lock() - defer o.mu.Unlock() - return len(o.streams) > 0 -} - -func (o *object) Close() (err error) { - return nil -} diff --git a/consensus/stream/service.go b/consensus/stream/service.go deleted file mode 100644 index 4197a40e..00000000 --- a/consensus/stream/service.go +++ /dev/null @@ -1,152 +0,0 @@ -package stream - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" - "github.com/cheggaaa/mb/v3" - "github.com/mr-tron/base58" - "go.uber.org/zap" - "sync/atomic" - "time" -) - -const CName = "consensus.stream" - -var log = logger.NewNamed(CName) - -var ( - cacheTTL = time.Minute -) - -type ctxLog uint - -const ( - ctxLogKey ctxLog = 1 -) - -func New() Service { - return &service{} -} - -// Service maintains a cache for logs (receive updates from db) and creates new stream objects with able to subscribe/unsubscribe to log ids -type Service interface { - // NewStream creates new stream with able to watch and unwatch log ids - NewStream() *Stream - app.ComponentRunnable -} - -type service struct { - db db.Service - cache ocache.OCache - lastStreamId uint64 -} - -func (s *service) Init(a *app.App) (err error) { - s.db = a.MustComponent(db.CName).(db.Service) - - cacheOpts := []ocache.Option{ - ocache.WithTTL(cacheTTL), - ocache.WithRefCounter(false), - ocache.WithLogger(log.Named("cache").Sugar()), - } - if ms := a.Component(metric.CName); ms != nil { - cacheOpts = append(cacheOpts, ocache.WithPrometheus(ms.(metric.Metric).Registry(), "consensus", "logcache")) - } - s.cache = ocache.New(s.loadLog, cacheOpts...) - - return s.db.SetChangeReceiver(s.receiveChange) -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Run(ctx context.Context) (err error) { - return nil -} - -func (s *service) NewStream() *Stream { - return &Stream{ - id: atomic.AddUint64(&s.lastStreamId, 1), - logIds: make(map[string]struct{}), - mb: mb.New[consensus.Log](100), - s: s, - } -} - -// AddStream to object with given logId -func (s *service) AddStream(ctx context.Context, logId []byte, stream *Stream) (err error) { - obj, err := s.getObject(ctx, logId) - if err != nil { - return err - } - obj.AddStream(stream) - return -} - -// RemoveStream from object with five logId -func (s *service) RemoveStream(ctx context.Context, logId []byte, streamId uint64) (err error) { - obj, err := s.getObject(ctx, logId) - if err != nil { - return err - } - obj.RemoveStream(streamId) - return -} - -func (s *service) loadLog(ctx context.Context, id string) (value ocache.Object, err error) { - if ctxLog := ctx.Value(ctxLogKey); ctxLog != nil { - return &object{ - logId: ctxLog.(consensus.Log).Id, - records: ctxLog.(consensus.Log).Records, - streams: make(map[uint64]*Stream), - }, nil - } - logId := logIdFromString(id) - dbLog, err := s.db.FetchLog(ctx, logId) - if err != nil { - return nil, err - } - return &object{ - logId: dbLog.Id, - records: dbLog.Records, - streams: make(map[uint64]*Stream), - }, nil -} - -func (s *service) receiveChange(logId []byte, records []consensus.Record) { - ctx := context.WithValue(context.Background(), ctxLogKey, consensus.Log{Id: logId, Records: records}) - obj, err := s.getObject(ctx, logId) - if err != nil { - log.Error("failed load object from cache", zap.Error(err)) - return - } - obj.AddRecords(records) -} - -func (s *service) getObject(ctx context.Context, logId []byte) (*object, error) { - id := logIdToString(logId) - cacheObj, err := s.cache.Get(ctx, id) - if err != nil { - return nil, err - } - return cacheObj.(*object), nil -} - -func (s *service) Close(ctx context.Context) (err error) { - return s.cache.Close() -} - -func logIdToString(logId []byte) string { - return base58.Encode(logId) -} - -func logIdFromString(s string) []byte { - logId, _ := base58.Decode(s) - return logId -} diff --git a/consensus/stream/service_test.go b/consensus/stream/service_test.go deleted file mode 100644 index c804b581..00000000 --- a/consensus/stream/service_test.go +++ /dev/null @@ -1,217 +0,0 @@ -package stream - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto/consensuserr" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "testing" - "time" -) - -var ctx = context.Background() - -func TestService_NewStream(t *testing.T) { - t.Run("watch/unwatch", func(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - - var expLogId = []byte("logId") - var preloadLogId = []byte("preloadId") - - fx.mockDB.fetchLog = func(ctx context.Context, logId []byte) (log consensus.Log, err error) { - require.Equal(t, expLogId, logId) - return consensus.Log{ - Id: logId, - Records: []consensus.Record{ - { - Id: []byte{'1'}, - }, - }, - }, nil - } - - fx.mockDB.receiver(preloadLogId, []consensus.Record{ - { - Id: []byte{'2'}, - PrevId: []byte{'1'}, - }, - { - Id: []byte{'1'}, - }, - }) - - st1 := fx.NewStream() - sr1 := readStream(st1) - assert.Equal(t, uint64(1), sr1.id) - st1.WatchIds(ctx, [][]byte{expLogId, preloadLogId}) - st1.UnwatchIds(ctx, [][]byte{preloadLogId}) - assert.Equal(t, [][]byte{expLogId}, st1.LogIds()) - - st2 := fx.NewStream() - sr2 := readStream(st2) - assert.Equal(t, uint64(2), sr2.id) - st2.WatchIds(ctx, [][]byte{expLogId, preloadLogId}) - - fx.mockDB.receiver(expLogId, []consensus.Record{ - { - Id: []byte{'1'}, - }, - }) - fx.mockDB.receiver(expLogId, []consensus.Record{ - { - Id: []byte{'2'}, - PrevId: []byte{'1'}, - }, - { - Id: []byte{'1'}, - }, - }) - fx.mockDB.receiver(preloadLogId, []consensus.Record{ - { - Id: []byte{'3'}, - PrevId: []byte{'4'}, - }, - { - Id: []byte{'2'}, - PrevId: []byte{'1'}, - }, - { - Id: []byte{'1'}, - }, - }) - st1.Close() - st2.Close() - - for _, sr := range []*streamReader{sr1, sr2} { - select { - case <-time.After(time.Second / 3): - require.False(t, true, "timeout") - case <-sr.finished: - } - } - - require.Len(t, sr1.logs, 2) - assert.Len(t, sr1.logs[string(expLogId)].Records, 2) - assert.Equal(t, []byte{'2'}, sr1.logs[string(expLogId)].Records[0].Id) - assert.Equal(t, []byte{'2'}, sr1.logs[string(preloadLogId)].Records[0].Id) - - require.Len(t, sr2.logs, 2) - assert.Len(t, sr2.logs[string(expLogId)].Records, 2) - assert.Equal(t, []byte{'2'}, sr2.logs[string(expLogId)].Records[0].Id) - assert.Equal(t, []byte{'3'}, sr2.logs[string(preloadLogId)].Records[0].Id) - }) - t.Run("error", func(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - fx.mockDB.fetchLog = func(ctx context.Context, logId []byte) (log consensus.Log, err error) { - return log, consensuserr.ErrLogNotFound - } - st1 := fx.NewStream() - sr1 := readStream(st1) - id := []byte("nonExists") - assert.Equal(t, uint64(1), sr1.id) - st1.WatchIds(ctx, [][]byte{id}) - st1.Close() - <-sr1.finished - require.Len(t, sr1.logs, 1) - assert.Equal(t, consensuserr.ErrLogNotFound, sr1.logs[string(id)].Err) - }) -} - -func newFixture(t *testing.T) *fixture { - fx := &fixture{ - Service: New(), - mockDB: &mockDB{}, - a: new(app.App), - } - - fx.a.Register(fx.Service).Register(fx.mockDB) - require.NoError(t, fx.a.Start(ctx)) - return fx -} - -type fixture struct { - Service - mockDB *mockDB - a *app.App -} - -func (fx *fixture) Finish(t *testing.T) { - require.NoError(t, fx.a.Close(ctx)) -} - -func readStream(st *Stream) *streamReader { - sr := &streamReader{ - id: st.id, - stream: st, - logs: map[string]consensus.Log{}, - finished: make(chan struct{}), - } - go sr.read() - return sr -} - -type streamReader struct { - id uint64 - stream *Stream - - logs map[string]consensus.Log - finished chan struct{} -} - -func (sr *streamReader) read() { - defer close(sr.finished) - for { - logs := sr.stream.WaitLogs() - if len(logs) == 0 { - return - } - for _, l := range logs { - if el, ok := sr.logs[string(l.Id)]; !ok { - sr.logs[string(l.Id)] = l - } else { - el.Records = append(l.Records, el.Records...) - sr.logs[string(l.Id)] = el - } - } - } -} - -type mockDB struct { - receiver db.ChangeReceiver - fetchLog func(ctx context.Context, logId []byte) (log consensus.Log, err error) -} - -func (m *mockDB) AddLog(ctx context.Context, log consensus.Log) (err error) { return nil } -func (m *mockDB) AddRecord(ctx context.Context, logId []byte, record consensus.Record) (err error) { - return nil -} - -func (m *mockDB) FetchLog(ctx context.Context, logId []byte) (log consensus.Log, err error) { - return m.fetchLog(ctx, logId) -} - -func (m *mockDB) SetChangeReceiver(receiver db.ChangeReceiver) (err error) { - m.receiver = receiver - return nil -} - -func (m *mockDB) Init(a *app.App) (err error) { - return nil -} - -func (m *mockDB) Name() (name string) { - return db.CName -} - -func (m *mockDB) Run(ctx context.Context) (err error) { - return -} - -func (m *mockDB) Close(ctx context.Context) (err error) { - return -} diff --git a/consensus/stream/stream.go b/consensus/stream/stream.go deleted file mode 100644 index b7e58e16..00000000 --- a/consensus/stream/stream.go +++ /dev/null @@ -1,87 +0,0 @@ -package stream - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" - "github.com/cheggaaa/mb/v3" - "go.uber.org/zap" - "sync" -) - -// Stream is a buffer that receives updates from object and gives back to a client -type Stream struct { - id uint64 - logIds map[string]struct{} - mu sync.Mutex - mb *mb.MB[consensus.Log] - s *service -} - -// LogIds returns watched log ids -func (s *Stream) LogIds() [][]byte { - s.mu.Lock() - defer s.mu.Unlock() - logIds := make([][]byte, 0, len(s.logIds)) - for logId := range s.logIds { - logIds = append(logIds, []byte(logId)) - } - return logIds -} - -// AddRecords adds new records to stream, called by objects -func (s *Stream) AddRecords(logId []byte, records []consensus.Record) (err error) { - return s.mb.Add(context.TODO(), consensus.Log{Id: logId, Records: records}) -} - -// WaitLogs wait for new log records -// empty returned slice means that stream is closed -func (s *Stream) WaitLogs() []consensus.Log { - logs, _ := s.mb.Wait(context.TODO()) - return logs -} - -// WatchIds adds given ids to subscription -func (s *Stream) WatchIds(ctx context.Context, logIds [][]byte) { - s.mu.Lock() - defer s.mu.Unlock() - for _, logId := range logIds { - logIdKey := string(logId) - if _, ok := s.logIds[logIdKey]; !ok { - s.logIds[logIdKey] = struct{}{} - if addErr := s.s.AddStream(ctx, logId, s); addErr != nil { - log.Info("can't add stream for log", zap.Binary("logId", logId), zap.Error(addErr)) - _ = s.mb.Add(ctx, consensus.Log{ - Id: logId, - Err: addErr, - }) - } - } - } - return -} - -// UnwatchIds removes given ids from subscription -func (s *Stream) UnwatchIds(ctx context.Context, logIds [][]byte) { - s.mu.Lock() - defer s.mu.Unlock() - for _, logId := range logIds { - logIdKey := string(logId) - if _, ok := s.logIds[logIdKey]; ok { - delete(s.logIds, logIdKey) - if remErr := s.s.RemoveStream(ctx, logId, s.id); remErr != nil { - log.Warn("can't remove stream for log", zap.Binary("logId", logId), zap.Error(remErr)) - } - } - } - return -} - -// Close closes stream and unsubscribes all ids -func (s *Stream) Close() { - _ = s.mb.Close() - s.mu.Lock() - defer s.mu.Unlock() - for logId := range s.logIds { - _ = s.s.RemoveStream(context.TODO(), []byte(logId), s.id) - } -} diff --git a/etc/client.yml b/etc/client.yml deleted file mode 100644 index 236f0ef5..00000000 --- a/etc/client.yml +++ /dev/null @@ -1,42 +0,0 @@ -anytype: - swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec -grpcServer: - listenAddrs: - - 127.0.0.1:4630 - tls: false -account: - peerId: 12D3KooWQajuCbCYJdh6fhfTQpwJpJ61mV1ZV4F4XuJnFHeVfeSF - peerKey: Gz1ARVeHzdusDtBL0DawuQKoKdKhL827WiCPekOndSnbYb65zdtgoxGP8Y+enTfKksPftODaiqzZr16Dfq+JvA== - signingKey: wKPnynjYCBVqDEiREnMRHz6id1NFNIfjV4XKmB27ave9BSyS8saW71BEb/0XT0IZDJep6oSKr9ua5kAxcr7tQA== - encryptionKey: MIIEpAIBAAKCAQEA1DJ/TtBpSEVZVfPWJdp7tPaGY9d+4zrD91LM/4N4DKKhhSFfcWlHgZeQiEtP6bKCdIp2nPMURiS8hd1JzYmNJNk/hUYlzCUJOZWyduVeaow9rlTT6I9a8BVUBQHtVD+PUu5pkfjLFgAojcSzg/mIPzJ0T76AlsFXBdXRfS2wnVKfF0/V+jHiLB1V2JBLjyuRf2V5HFglEmWfrCoG02Q9OENZJHy02NXGCs7FnZdYhHct9u00dXk6Xp0w+oBD74+h4gsyFAHnRodRnhC0WMSv2LIPIQUh7x5LfvKx85n6LMFk/aYgTNFKQfu15VTzjfbVbeAm8jsHgV/FifRvETHm6QIDAQABAoIBAF6RLqlaOkFqHpkutRZjm1QXtebTCAqOiv0zGocY+SxwYhlpuRZa+/ImMNR8891Ln9X+S0RBFJz6DEaASz7deVidtTBZBclIDCdsrn9MU1qaq3aA+XugP7/VUX91z2YHeYFVHRlfzmo8odYkfnhnga/gdXOAi+Ajw/umwdjOvvItKqzm4FHHrwmqKDGlMfPgVcbkE/1iDRSwGvuEPOtMuNrTGcPyz0w10BO5zfpxgxJ2Esgmg66VG+H/KPSoLCtStZilErC8gRx9AbbJGUJcLkjd3T6A02cS9IS/hyTEK7qjxNjVaW0DfCrjXfIFiVHeXTB1LSS2JR95kArG437WTw0CgYEA/JsW6qDjl1jF7tYr+E6PjnCk/dgm3nlsC8sTbZd5edPN3dp+D6qlwv4KYKDETpxohMMhOdSl5SYp4dirsnyPDF1BcGdrkq73aE6n4Tx7oQBMeuZLvK9hxWprJqRa9WP49CDiLOc/GLOe3N90s8ViSqU08/tqOtQLU4BmjHMCDzcCgYEA1wxpL7XUUeDa+bGXrtii3oXlZpyoUXft3JjhTazC1lQuwp5M5+0HA/BuTpl8b43+0gcgrUjqB7yeKWZ8Us0gE9ZMBPTGNNGjXjGOtOk1Lpm+PHrCxmADzfJ8V+rrQXvW2KcImJ0bZk87eNUKtDSsWy6+NIQ6W66GUFvv8iblit8CgYEAvBVKCedDrqQFtKC5Wog8MYXEA9IWlt33ygwp6ha39zLyfPa7mDSqebanyWzK3fFtjTSxH5sq7qTs2GF47kv6Qu2I1QXcPfqS8pJmQ7nCH43WZEfnKpW3icOEBuCnbUFD05pMbby86UqMxc6H2Xblicja1bNkVGsgB8t6D6duaB8CgYEAq337OA/x1KXTGoJ0avvZzkjK6uyNEgLozh2gtpfJ/K+/ZnZk8CNGj+6hmM6vvCpphsYmWeomr6rMGknfZQytwwQHNYCZu69eb5RnsH+1aIc0fPiM8TPKdOcmH9p4Z41BhR6XLVVEb29KBw8l7RWASWraRfkYrNpdxCG9FMfOD9MCgYBJ6Z7YNZsJq263s9oJ01npT2NlfXORd3KDHi/A6qC8Jx1dK3+Jew2VV53/PeXJKuPuePSV7nEOwA0wpg3+TuEsWHHOZVO4c+ZVJmonO0x0IzjMHzBB/8VZc+5n+yi/UOSupt/WRcoPOTjJ7tQdhc2m9C7YA248laYikbzkW5DHoA== -apiServer: - listenAddrs: - - 127.0.0.1:8090 - tls: false -nodes: - - peerId: 12D3KooWHtnADt84naf6NeejZ1MxYGZPLk5SPEu2DL4ZV948uWPS - address: 127.0.0.1:4430 - signingKey: Fu/H792JFWVYQpOZeLBIr1Y5UuHdZzJxkGO7eakZDaZ3/vIDhjGgNab1+1NMdTJ0IUP6Tv3KQutcRwtX26/wmQ== - encryptionKey: MIIEowIBAAKCAQEAs+N32tT2Q4Nv9MlyH0B34TJZYLh1+Y/4hc0vupiS/Ct0Mt+Rh62KkPy6Hz2JRDd7ryYpz/Un+qAFQBhfugKy6a5R0U/OnaK8/WwJjstTPd59c7iGnCeW9mWumexT2wiQVbWcSdcAE5SPYmBkIPnwzgxZgtNzvEnbdUDWIOsR3ifDAt3iUqqlo+cZWIZaXiTjyrMlaWY/BR/SGrklYzxcUzNj+K6DdY4yFN5/5ywKIe81llooULTyM5U+fWEW5uri4ERgT/YcRAoii2UJ5kHzpIZmGKcrJ4kUdyFLE7VxYIQMHHXRkDlpTEYlAAJGl5frcHvFufTWIJaohBXAxg5tyQIDAQABAoIBAD3TI9I19x1lAwliYrKS+aCQKV+whftrm8KArrK21W2NkbYaWG4FGuaRtXYfNBoZ54xe1Wf/nenpLWTF+8B2RP9DRiNmBmDvGX0PsIk/IDDXUs5+0OTCRoQQll2Yd4mD+/c5H6nRFtmj6VOqRT+AJ17pp6nq+o/v4lj+G5ncsJtlAtq1xb20yHQYEl6sbK2UqYuiFtXpKMCK/8V3hDj+ROM8UMkxMj+qj9NFd2sCk4FEZ+S2QmHIjY55s4Rpe1RzZZZEYOuJ99Fism+HYXtf3JlFORaNIdhdWY1UkVAFuKY/ULoHOhf/RdJ8ZArak3CplpEdPTYC4IRBI1eZDDF2GgECgYEAw0jvV7E1kqfGD5Q1WTFsss4xHQntPtWRfyAI1viy16sqMX6wQ4ZixWXsOeMB1o5azqqjYo0BBiGw6ie1GKl0iZ09FxHmMDqFLf8a0JZXAlTvC/wEHgAXCzg7tpHRJD1B6gAiU6u6ALW14DtWe6tikFehrY0mwGb9koedQNgoGnkCgYEA69EcUTejGm5Hm6ANC5u5Vn1aaB4BrTJ36FGTaxjnSUPePBj0Eo2Bt+c25DiD3uGj2Jws5QrRhpu+NYhOTC+/P1/rm82w9Tpc8z/wA7nUk0gGEncgtJ8RFokom4B+Ui83JJiH0V7puZUhCc/TOmfa5N0SH5gM4q4rBoVDZtnTGdECgYEAlnssW9GlK6Z2++hEF7/7N+mldPACTkn6PRCtXyHzhjdSYyNxpgb3M49vsceY0gGOPfTFxBpNsLDjh/wjE6b4s1ZkDdPwIjfmCmSrABLpZ1WVgxGnBoshNrcVZIEGvTsrAKsryHfq88MSLIDtCo0tfXbZkkfTla2HNpOj/KTUelkCgYBl0pMRlp58qSWOUxuO6ZyrddD1qA89Q892ptKqqcQkZIOvG284G5XpXJLdFHIMaQ2gWD8iXvt9zf3hi4uTZgKEUNyhF73TBXJhLjhqw3DAb5b/niSnGQ/91ReNnXvt7Kk4ygvLIdp14ai0XeJtE672p2ZN8g+OSXoWhLBH1sJKIQKBgA7NH/Y4RbVHIMWY7jH/1d4ODZ4Hr1RK2Q99HJCAurfD5tjhpcMApoQQJKJDpv7J5Ipx6ynQJD7CFfx27+vqBEG4ffAUm66lKM5xrKcOevcyWemppurCLuza64GgWDP6jBRnHeqrUyZUqoI/I0FNwjxIJbu08NpRSt8khq59+iyF - - peerId: 12D3KooWG1r2SVzTMGDhkiw9McbZq98H9C1Ggzp7FSfWDGbVSCbZ - address: 127.0.0.1:4431 - signingKey: CZTN+NFi4g9MA4BKl3OiCKuzXh63ukIvYWo9D5t9qfZcFwIeOW8eP9W8mtnXaY3JAFyb6GliBW0uCaw4wjRcCA== - encryptionKey: MIIEpAIBAAKCAQEAo9Nuypzg9kZ+LP+8jQgSTaoRUu8VFdJdCOEjuroPQK+2NwBD/Z9BqKiN0Z+jmhkI9yA0/Fwdh21ibAKX3Je9uffAKOhXI2sxIAlccDORu1kGDnhcc7N3L644DK+uFZvKnMQWiCwmtTnNHkoCzWcIE44G56wMa2c4W7mrOuRWqG6a5Z9JUuLqafOIlf6Dw2fiVM6xXiTIMQ0OyXByxFNjsS5O/PYcwoIKMV8MY+gUnAmyPLE0bslvz/8W+3E7d/LDO4lhqW+N1kDmboe6sc7DBf5JD4DLnP2VWV8Ae/rfJvxwu9ZqVT8RdYKMsZqvs9sV+6jQC9UcX+K8Q4Wdo0eMHwIDAQABAoIBAACR57zEtvOkYyP878b91DJ4+P503nno9XHmdp1bsFnlQpkGYzYqq6vOik/EYmlS1PknH4gROfkSpFkD2UtnK73N4tlBlawF33HhFnU9eLBSKvc56/hrE2sTDBbfNZfVpurMs9ddb/UJcnE8iK32QczvnY6IxrJI9aU8DCB0UujbGDnya/HbFU9pLLxu2EUoHNxjSHG/jCx+AR7JRknRA65KPZG7mu5jeAaaklYTY/aLGlctgecDKfNKDsZo6rgAMUW6ZXI8ogNGqfKHUFazCVe0l1tp4hxvgmyjcw79iKvFr4mlpHtgjYTFCeoMJKvOXUImZUJL0vCA6WKvUdIfzAECgYEA0lCTXYwOHqOwYMb1qi8lIIApcI//B/Nzn++MDQ4ZO4SzVJTTv4rSdXAuoihsO6E7LYZK+wdVNjiCbeMukfTqEfaxWXIsIDaHSR3440NsYSwdBz04UhRgpxFE2FwPK7J5dQ57FBaCAgksnO3XjcByBMYgMWVbA+ezIWfVdN96YoECgYEAx2mm/W4ZGdDyJgDonzEGGxfaNqo6DIv+67fDwI6WyqOWFWJTBaVFkm1uPJfcXYuTI9YCNFRKuRU7dyqSPLErMVusC/8Iww8++kqmkc1m04tbkqh4KpREYuMw8/tTYSWDwgpY8ksM5YRpYRJLTuuC0cEmefGco1RsXG8bYYeZXp8CgYBq5fexYcG/gxXgauBtSx9E4L+vbhGD2hNYJKr768GZhf6crDTgs8/7TzT0yTUSLgZlQlAUPgrqz1hEQGfoWiMrVEeanjSdfvnOiUR7R0bsMT7j8hMRbTgfUuC6VDiFzmZ7wAuBD1uvazhY329jpoCNuqKcWNclKfzbqupNSFXtgQKBgQCTlR7Qm0YadChydeOzxX2GWa3XHT7fAFFHNPa8MQtqp40xAFb/a6TEzRZz49RkqyLXt9Bj2CqBNjSPakNWhay41+bJ7hMXAdaTOOJ0L/c1AwNf1C0zHg5KvWgCefPohvIvjqbrkx3VU50GCZsQqn5kLLYENAvAWX/lHRm/obKhcwKBgQC/iAOC8ZdZC5w4F0Mf7roZWa9P/42JWlCMzm/I/5mEIn4mYY6+1C5V+fXoET6845oAh+P8CkH4waJtqqN6BKQhj7SKqoCHgGBCQy+HrSCBtzk7NuXdpz6sk14zfcVpjR3y3l9TuXc4cVQMSLAqg8yUQf+qnEQTit4jyfikV/5XEw== - - peerId: 12D3KooWDXDcBYxtZ8KNRoJebNgNAv9nFbQatQMoWm1BLwmQh6u7 - address: 127.0.0.1:4432 - signingKey: c3D+0+BCl1xU35KBY+U3GPcU9aXdoLUiD4DJ2jF+IqI3CjGLhet3MBOkPXdIuPq/UpEqlp1k6FjNaU6DEU6Csg== - encryptionKey: MIIEpAIBAAKCAQEAuB7HsXuYmoif6/U4JnjC6L0QMu9qW1aPAxDrxWIedTzQhFZp3F3gYW/Zgdd2hvd0c2xyfhwf9C0X/UzfxWr54dDXzWNLN8BdVTik48cdYlgOmbgejiIjTaqSAlv4RtlqvooxCN0MwR2/RVAG/N5GqcAM7E4kJWPtvQYNl6wWCc92rKdutvmcj73wKzz9Hd/qdF612OVS3zRsjh3tJmYt55oovAUh1TAz/mSTTXjFHy35zLRBP+oQQsAOt2p0BOMSyOKZufGC8l3aZD//dp4/U/MaqCjeNuWxCfAZlSd+vt7T0aqDGdyRtrrGUcu4PCwXpOdbzw+uSZxnKawolYoEHwIDAQABAoIBAQCsxeVpvKtUx8QZrUCFiWiM8W0T/un0z+LfY696xzoBlZGtvVEVQtpdVJHsb31/5RFXhnphsI6jmPUb8llBbcMSjeETkItyw4ZRhBfmzl/aevsocEfr5EjwhpEAucDe6wJpzk95G8TuKrXjmtcTzpjMjbUSwbjVhVH/wIBcxVTg2j6z4AOADDRI5UsvZ0NV//If+nNzMjcuIji95PNk7lAuwsqkX3FycxvqXKUMGxRE2bgGMxaBRAP0kqL2vdxyS1M7wp/x04ZAtSnPXHe4qqmDOt69ec3XqbmZHOsZHzkCFePKcPB472/G0bPJeiq/idevEqS89RwvbphDtq3KGrRBAoGBAOrHqlPh36WZBOi6SueUmcrg579KDMUekgeea5payiySbRWztCL2yCYbSgFqSbyCLRppyXK51xvo8iUejR231or6u/nd7T0CON0Nf/8Qtbb13vtTGpIBiWYGqeDrWucUUlyS+K3sDfNk1AJqjUdaIMVu4yTpgzEvrdYCcT312RBPAoGBAMjC83/0EKnsbypFprxKS3Fbg963HhyKjfffQ2w4yncM6kxXF3ehVjg1LInok/6/dmy2LxkAf3r0YYZrGJWmG4Sv4UqHn6JxAjQgarPbdmGhJ8VIUMvMbZRsX3i8Z8D2o8k1M1kr6MYsQ53iX6q/Cp3gnucMeJPk6Xs9Q4TO7YsxAoGAWrXEOF6X01p4zBZWJH2Eoh8dSwooPuzdzPXHaz7SyD/Wx8DDw5KHqDl48W0Iij3dgUwIGjx1QQJStEbGjQnfaZkQkazOIXk/USELKBhjrQn4GjB0np7bYEEI1673UzrFy6C5VjFS/owhYcGbTksjSETcnAFgv9tFFd+hsyfOsv8CgYALk4o875LiaXrDgj6qDtKo17ET75Ux6h9jkqEtpVyvXrRH8KGuyUPSe+Z0kU+vWdT3Uc4HcArpyRuyh4xkXK6riQTBqm5fDIsm/FOKyXXbDVLgwlm+Vqxe6Zzbtml5K/+nw4SReMG0Y6sGeJ4xl1CCaAhhpEtzo7h+3bp99vylkQKBgQDDdR6N4wb3DHTzrW0EFb8XhXZN7CIE3EWhToNDsCkguUB7lwqD4p2c4yLscS0YAqxk7I3NW0nDaUV/340RrVtPJDqB4NZJ+MvhfvV3TW2FkZmru/iW+DMUsfZGAOPdQz9jLGAzUXrXFw/qGBtLIUL6UWqWLOrBO9QHb21nnB1Ssg== -space: - gcTTL: 60 - syncPeriod: 20 -storage: - path: db -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} -stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 diff --git a/etc/config.yml b/etc/config.yml deleted file mode 100644 index 447d37ec..00000000 --- a/etc/config.yml +++ /dev/null @@ -1,42 +0,0 @@ -anytype: - swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec -grpcServer: - listenAddrs: - - 127.0.0.1:4430 - tls: false -account: - peerId: 12D3KooWHtnADt84naf6NeejZ1MxYGZPLk5SPEu2DL4ZV948uWPS - peerKey: Fu/H792JFWVYQpOZeLBIr1Y5UuHdZzJxkGO7eakZDaZ3/vIDhjGgNab1+1NMdTJ0IUP6Tv3KQutcRwtX26/wmQ== - signingKey: Fu/H792JFWVYQpOZeLBIr1Y5UuHdZzJxkGO7eakZDaZ3/vIDhjGgNab1+1NMdTJ0IUP6Tv3KQutcRwtX26/wmQ== - encryptionKey: MIIEowIBAAKCAQEAs+N32tT2Q4Nv9MlyH0B34TJZYLh1+Y/4hc0vupiS/Ct0Mt+Rh62KkPy6Hz2JRDd7ryYpz/Un+qAFQBhfugKy6a5R0U/OnaK8/WwJjstTPd59c7iGnCeW9mWumexT2wiQVbWcSdcAE5SPYmBkIPnwzgxZgtNzvEnbdUDWIOsR3ifDAt3iUqqlo+cZWIZaXiTjyrMlaWY/BR/SGrklYzxcUzNj+K6DdY4yFN5/5ywKIe81llooULTyM5U+fWEW5uri4ERgT/YcRAoii2UJ5kHzpIZmGKcrJ4kUdyFLE7VxYIQMHHXRkDlpTEYlAAJGl5frcHvFufTWIJaohBXAxg5tyQIDAQABAoIBAD3TI9I19x1lAwliYrKS+aCQKV+whftrm8KArrK21W2NkbYaWG4FGuaRtXYfNBoZ54xe1Wf/nenpLWTF+8B2RP9DRiNmBmDvGX0PsIk/IDDXUs5+0OTCRoQQll2Yd4mD+/c5H6nRFtmj6VOqRT+AJ17pp6nq+o/v4lj+G5ncsJtlAtq1xb20yHQYEl6sbK2UqYuiFtXpKMCK/8V3hDj+ROM8UMkxMj+qj9NFd2sCk4FEZ+S2QmHIjY55s4Rpe1RzZZZEYOuJ99Fism+HYXtf3JlFORaNIdhdWY1UkVAFuKY/ULoHOhf/RdJ8ZArak3CplpEdPTYC4IRBI1eZDDF2GgECgYEAw0jvV7E1kqfGD5Q1WTFsss4xHQntPtWRfyAI1viy16sqMX6wQ4ZixWXsOeMB1o5azqqjYo0BBiGw6ie1GKl0iZ09FxHmMDqFLf8a0JZXAlTvC/wEHgAXCzg7tpHRJD1B6gAiU6u6ALW14DtWe6tikFehrY0mwGb9koedQNgoGnkCgYEA69EcUTejGm5Hm6ANC5u5Vn1aaB4BrTJ36FGTaxjnSUPePBj0Eo2Bt+c25DiD3uGj2Jws5QrRhpu+NYhOTC+/P1/rm82w9Tpc8z/wA7nUk0gGEncgtJ8RFokom4B+Ui83JJiH0V7puZUhCc/TOmfa5N0SH5gM4q4rBoVDZtnTGdECgYEAlnssW9GlK6Z2++hEF7/7N+mldPACTkn6PRCtXyHzhjdSYyNxpgb3M49vsceY0gGOPfTFxBpNsLDjh/wjE6b4s1ZkDdPwIjfmCmSrABLpZ1WVgxGnBoshNrcVZIEGvTsrAKsryHfq88MSLIDtCo0tfXbZkkfTla2HNpOj/KTUelkCgYBl0pMRlp58qSWOUxuO6ZyrddD1qA89Q892ptKqqcQkZIOvG284G5XpXJLdFHIMaQ2gWD8iXvt9zf3hi4uTZgKEUNyhF73TBXJhLjhqw3DAb5b/niSnGQ/91ReNnXvt7Kk4ygvLIdp14ai0XeJtE672p2ZN8g+OSXoWhLBH1sJKIQKBgA7NH/Y4RbVHIMWY7jH/1d4ODZ4Hr1RK2Q99HJCAurfD5tjhpcMApoQQJKJDpv7J5Ipx6ynQJD7CFfx27+vqBEG4ffAUm66lKM5xrKcOevcyWemppurCLuza64GgWDP6jBRnHeqrUyZUqoI/I0FNwjxIJbu08NpRSt8khq59+iyF -apiServer: - listenAddrs: - - 127.0.0.1:8080 - tls: false -nodes: - - peerId: 12D3KooWHtnADt84naf6NeejZ1MxYGZPLk5SPEu2DL4ZV948uWPS - address: 127.0.0.1:4430 - signingKey: Fu/H792JFWVYQpOZeLBIr1Y5UuHdZzJxkGO7eakZDaZ3/vIDhjGgNab1+1NMdTJ0IUP6Tv3KQutcRwtX26/wmQ== - encryptionKey: MIIEowIBAAKCAQEAs+N32tT2Q4Nv9MlyH0B34TJZYLh1+Y/4hc0vupiS/Ct0Mt+Rh62KkPy6Hz2JRDd7ryYpz/Un+qAFQBhfugKy6a5R0U/OnaK8/WwJjstTPd59c7iGnCeW9mWumexT2wiQVbWcSdcAE5SPYmBkIPnwzgxZgtNzvEnbdUDWIOsR3ifDAt3iUqqlo+cZWIZaXiTjyrMlaWY/BR/SGrklYzxcUzNj+K6DdY4yFN5/5ywKIe81llooULTyM5U+fWEW5uri4ERgT/YcRAoii2UJ5kHzpIZmGKcrJ4kUdyFLE7VxYIQMHHXRkDlpTEYlAAJGl5frcHvFufTWIJaohBXAxg5tyQIDAQABAoIBAD3TI9I19x1lAwliYrKS+aCQKV+whftrm8KArrK21W2NkbYaWG4FGuaRtXYfNBoZ54xe1Wf/nenpLWTF+8B2RP9DRiNmBmDvGX0PsIk/IDDXUs5+0OTCRoQQll2Yd4mD+/c5H6nRFtmj6VOqRT+AJ17pp6nq+o/v4lj+G5ncsJtlAtq1xb20yHQYEl6sbK2UqYuiFtXpKMCK/8V3hDj+ROM8UMkxMj+qj9NFd2sCk4FEZ+S2QmHIjY55s4Rpe1RzZZZEYOuJ99Fism+HYXtf3JlFORaNIdhdWY1UkVAFuKY/ULoHOhf/RdJ8ZArak3CplpEdPTYC4IRBI1eZDDF2GgECgYEAw0jvV7E1kqfGD5Q1WTFsss4xHQntPtWRfyAI1viy16sqMX6wQ4ZixWXsOeMB1o5azqqjYo0BBiGw6ie1GKl0iZ09FxHmMDqFLf8a0JZXAlTvC/wEHgAXCzg7tpHRJD1B6gAiU6u6ALW14DtWe6tikFehrY0mwGb9koedQNgoGnkCgYEA69EcUTejGm5Hm6ANC5u5Vn1aaB4BrTJ36FGTaxjnSUPePBj0Eo2Bt+c25DiD3uGj2Jws5QrRhpu+NYhOTC+/P1/rm82w9Tpc8z/wA7nUk0gGEncgtJ8RFokom4B+Ui83JJiH0V7puZUhCc/TOmfa5N0SH5gM4q4rBoVDZtnTGdECgYEAlnssW9GlK6Z2++hEF7/7N+mldPACTkn6PRCtXyHzhjdSYyNxpgb3M49vsceY0gGOPfTFxBpNsLDjh/wjE6b4s1ZkDdPwIjfmCmSrABLpZ1WVgxGnBoshNrcVZIEGvTsrAKsryHfq88MSLIDtCo0tfXbZkkfTla2HNpOj/KTUelkCgYBl0pMRlp58qSWOUxuO6ZyrddD1qA89Q892ptKqqcQkZIOvG284G5XpXJLdFHIMaQ2gWD8iXvt9zf3hi4uTZgKEUNyhF73TBXJhLjhqw3DAb5b/niSnGQ/91ReNnXvt7Kk4ygvLIdp14ai0XeJtE672p2ZN8g+OSXoWhLBH1sJKIQKBgA7NH/Y4RbVHIMWY7jH/1d4ODZ4Hr1RK2Q99HJCAurfD5tjhpcMApoQQJKJDpv7J5Ipx6ynQJD7CFfx27+vqBEG4ffAUm66lKM5xrKcOevcyWemppurCLuza64GgWDP6jBRnHeqrUyZUqoI/I0FNwjxIJbu08NpRSt8khq59+iyF - - peerId: 12D3KooWG1r2SVzTMGDhkiw9McbZq98H9C1Ggzp7FSfWDGbVSCbZ - address: 127.0.0.1:4431 - signingKey: CZTN+NFi4g9MA4BKl3OiCKuzXh63ukIvYWo9D5t9qfZcFwIeOW8eP9W8mtnXaY3JAFyb6GliBW0uCaw4wjRcCA== - encryptionKey: MIIEpAIBAAKCAQEAo9Nuypzg9kZ+LP+8jQgSTaoRUu8VFdJdCOEjuroPQK+2NwBD/Z9BqKiN0Z+jmhkI9yA0/Fwdh21ibAKX3Je9uffAKOhXI2sxIAlccDORu1kGDnhcc7N3L644DK+uFZvKnMQWiCwmtTnNHkoCzWcIE44G56wMa2c4W7mrOuRWqG6a5Z9JUuLqafOIlf6Dw2fiVM6xXiTIMQ0OyXByxFNjsS5O/PYcwoIKMV8MY+gUnAmyPLE0bslvz/8W+3E7d/LDO4lhqW+N1kDmboe6sc7DBf5JD4DLnP2VWV8Ae/rfJvxwu9ZqVT8RdYKMsZqvs9sV+6jQC9UcX+K8Q4Wdo0eMHwIDAQABAoIBAACR57zEtvOkYyP878b91DJ4+P503nno9XHmdp1bsFnlQpkGYzYqq6vOik/EYmlS1PknH4gROfkSpFkD2UtnK73N4tlBlawF33HhFnU9eLBSKvc56/hrE2sTDBbfNZfVpurMs9ddb/UJcnE8iK32QczvnY6IxrJI9aU8DCB0UujbGDnya/HbFU9pLLxu2EUoHNxjSHG/jCx+AR7JRknRA65KPZG7mu5jeAaaklYTY/aLGlctgecDKfNKDsZo6rgAMUW6ZXI8ogNGqfKHUFazCVe0l1tp4hxvgmyjcw79iKvFr4mlpHtgjYTFCeoMJKvOXUImZUJL0vCA6WKvUdIfzAECgYEA0lCTXYwOHqOwYMb1qi8lIIApcI//B/Nzn++MDQ4ZO4SzVJTTv4rSdXAuoihsO6E7LYZK+wdVNjiCbeMukfTqEfaxWXIsIDaHSR3440NsYSwdBz04UhRgpxFE2FwPK7J5dQ57FBaCAgksnO3XjcByBMYgMWVbA+ezIWfVdN96YoECgYEAx2mm/W4ZGdDyJgDonzEGGxfaNqo6DIv+67fDwI6WyqOWFWJTBaVFkm1uPJfcXYuTI9YCNFRKuRU7dyqSPLErMVusC/8Iww8++kqmkc1m04tbkqh4KpREYuMw8/tTYSWDwgpY8ksM5YRpYRJLTuuC0cEmefGco1RsXG8bYYeZXp8CgYBq5fexYcG/gxXgauBtSx9E4L+vbhGD2hNYJKr768GZhf6crDTgs8/7TzT0yTUSLgZlQlAUPgrqz1hEQGfoWiMrVEeanjSdfvnOiUR7R0bsMT7j8hMRbTgfUuC6VDiFzmZ7wAuBD1uvazhY329jpoCNuqKcWNclKfzbqupNSFXtgQKBgQCTlR7Qm0YadChydeOzxX2GWa3XHT7fAFFHNPa8MQtqp40xAFb/a6TEzRZz49RkqyLXt9Bj2CqBNjSPakNWhay41+bJ7hMXAdaTOOJ0L/c1AwNf1C0zHg5KvWgCefPohvIvjqbrkx3VU50GCZsQqn5kLLYENAvAWX/lHRm/obKhcwKBgQC/iAOC8ZdZC5w4F0Mf7roZWa9P/42JWlCMzm/I/5mEIn4mYY6+1C5V+fXoET6845oAh+P8CkH4waJtqqN6BKQhj7SKqoCHgGBCQy+HrSCBtzk7NuXdpz6sk14zfcVpjR3y3l9TuXc4cVQMSLAqg8yUQf+qnEQTit4jyfikV/5XEw== - - peerId: 12D3KooWDXDcBYxtZ8KNRoJebNgNAv9nFbQatQMoWm1BLwmQh6u7 - address: 127.0.0.1:4432 - signingKey: c3D+0+BCl1xU35KBY+U3GPcU9aXdoLUiD4DJ2jF+IqI3CjGLhet3MBOkPXdIuPq/UpEqlp1k6FjNaU6DEU6Csg== - encryptionKey: MIIEpAIBAAKCAQEAuB7HsXuYmoif6/U4JnjC6L0QMu9qW1aPAxDrxWIedTzQhFZp3F3gYW/Zgdd2hvd0c2xyfhwf9C0X/UzfxWr54dDXzWNLN8BdVTik48cdYlgOmbgejiIjTaqSAlv4RtlqvooxCN0MwR2/RVAG/N5GqcAM7E4kJWPtvQYNl6wWCc92rKdutvmcj73wKzz9Hd/qdF612OVS3zRsjh3tJmYt55oovAUh1TAz/mSTTXjFHy35zLRBP+oQQsAOt2p0BOMSyOKZufGC8l3aZD//dp4/U/MaqCjeNuWxCfAZlSd+vt7T0aqDGdyRtrrGUcu4PCwXpOdbzw+uSZxnKawolYoEHwIDAQABAoIBAQCsxeVpvKtUx8QZrUCFiWiM8W0T/un0z+LfY696xzoBlZGtvVEVQtpdVJHsb31/5RFXhnphsI6jmPUb8llBbcMSjeETkItyw4ZRhBfmzl/aevsocEfr5EjwhpEAucDe6wJpzk95G8TuKrXjmtcTzpjMjbUSwbjVhVH/wIBcxVTg2j6z4AOADDRI5UsvZ0NV//If+nNzMjcuIji95PNk7lAuwsqkX3FycxvqXKUMGxRE2bgGMxaBRAP0kqL2vdxyS1M7wp/x04ZAtSnPXHe4qqmDOt69ec3XqbmZHOsZHzkCFePKcPB472/G0bPJeiq/idevEqS89RwvbphDtq3KGrRBAoGBAOrHqlPh36WZBOi6SueUmcrg579KDMUekgeea5payiySbRWztCL2yCYbSgFqSbyCLRppyXK51xvo8iUejR231or6u/nd7T0CON0Nf/8Qtbb13vtTGpIBiWYGqeDrWucUUlyS+K3sDfNk1AJqjUdaIMVu4yTpgzEvrdYCcT312RBPAoGBAMjC83/0EKnsbypFprxKS3Fbg963HhyKjfffQ2w4yncM6kxXF3ehVjg1LInok/6/dmy2LxkAf3r0YYZrGJWmG4Sv4UqHn6JxAjQgarPbdmGhJ8VIUMvMbZRsX3i8Z8D2o8k1M1kr6MYsQ53iX6q/Cp3gnucMeJPk6Xs9Q4TO7YsxAoGAWrXEOF6X01p4zBZWJH2Eoh8dSwooPuzdzPXHaz7SyD/Wx8DDw5KHqDl48W0Iij3dgUwIGjx1QQJStEbGjQnfaZkQkazOIXk/USELKBhjrQn4GjB0np7bYEEI1673UzrFy6C5VjFS/owhYcGbTksjSETcnAFgv9tFFd+hsyfOsv8CgYALk4o875LiaXrDgj6qDtKo17ET75Ux6h9jkqEtpVyvXrRH8KGuyUPSe+Z0kU+vWdT3Uc4HcArpyRuyh4xkXK6riQTBqm5fDIsm/FOKyXXbDVLgwlm+Vqxe6Zzbtml5K/+nw4SReMG0Y6sGeJ4xl1CCaAhhpEtzo7h+3bp99vylkQKBgQDDdR6N4wb3DHTzrW0EFb8XhXZN7CIE3EWhToNDsCkguUB7lwqD4p2c4yLscS0YAqxk7I3NW0nDaUV/340RrVtPJDqB4NZJ+MvhfvV3TW2FkZmru/iW+DMUsfZGAOPdQz9jLGAzUXrXFw/qGBtLIUL6UWqWLOrBO9QHb21nnB1Ssg== -space: - gcTTL: 60 - syncPeriod: 600 -storage: - path: db -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} -stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 diff --git a/etc/configs/client1.yml b/etc/configs/client1.yml deleted file mode 100755 index 21565cfe..00000000 --- a/etc/configs/client1.yml +++ /dev/null @@ -1,72 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4630 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWA3snvPWvocpXefCy8bVbLGNB7oFoKfyD4hfEcdGBz29K - peerKey: OL6vRR0FchBkYej86GgysuF+fBMF6l+J7Uz1Ku25VtoDdgvS3TWY8iXSp8DPDyKV+VCdQyRTomWrXdvkW1z6bg== - signingKey: 1ABIkla1rsphFo0PZPzOtVM5DKoJqDd+iIwN11WvFKLQ+10fWq2dZcAddmkyX7utEerlVFH7bqTPquqoVlUqpQ== - encryptionKey: MIIEogIBAAKCAQEArKfNFTVh2k3guPoy0aIHjKdwqmEMEKs4EJWu7kkXzYy1vqQQWb4pyTKoQ/3oaZuyXxib9dzgImIxzSyRXroIgODeapXA3lCR56zf+deJMGf7v/HJpDqK6K0IjJqOnXTKjY4uVcqsXDEFX3er+PunetZoVh3BFt8ZjfeJrfgQ0KN+21Ki7qiB9CuvEMOh4w0a62LitxMfxzK/sRYL8HDWU0m3p+kFPs5eLJOiRC1g9rE2NLtivwOhrNKkx1SaVV8E/4YwZ4guERvgVErzKhc1hFwHtjP+f2ZiIX7l2s0JspSEDyYCUCbEHFDcDEZvgLXjVzh/L18JwXL/gqe2zmd5CwIDAQABAoIBAEMocilRvmI/8K2DBMluESmw564eWacSMpig4I5neA7IMNmaz5FY2sAcKD9qQED0AwnidKfJ5pT5RQ3dzB3glvYqgdlLrt3K0TYglG6GXCKsD8y1rA1piCbBR5YJeHfeufsd1wAf+bNSjhh4YDhVCuxJAgSdRkIzPalvI+q7ly7QBaXJMDs0ywxCombKTnhsJGxMP4d34497J659iIi2T94RjO/vnFKKR73FyxGgcc8/zMzsovVwP/m+PC+d0cuqN6K/2F8bGBRCG684aS7CIjz1tuV4yfY2SsDc77V4Vwu6BJjl1UMeVb8vb16Fuw6j4lhjWsZ9Knpekh8vzTDJE+ECgYEAwX77PVGpb2cwoMzeF2bfIGggmLJHxG6xzcEfTXAImBssOePL+ce3svyECwXGDmqLmayL/N6rDpsu8kSnRGy0h7aYo3N1V+GNAk1QYs+2BjSCMCdpAbdC0/rgoobcAJwOGw4qxvvclxqLNPsV7AbrYA+/CJZsiJNGV9O8TOCSFrUCgYEA5G1s08EEoiVd4tPlphgho1cvsUHRT8iCUbmaNBhhP2ujbR74pg5M6ixFAfrX7FG5b0DzQ/PWDLjiBVyJP8z9NJGE9Ui3THOAumx8bX6J/KrV05bUeR3HE1I0h/5XBUVuqrEZnkwZZsFeWewP1wZGOZDERGhDMgLSMD3nUA3TaL8CgYAGlkMJQFlrQHEIWFELLOZVnRXW/OKyji4hWfytzy2LuAkWY2nTM/hN8IiyM10dqoTcE2KklhPuqFu9xZaIHsc6g33Iuqp49mWteWJOKtIAfhMcfor1kv6EZtr0zXB52NYmF6JfKb3FqxKoGBAT+9xRZdfT/ALv10uiu8OCPnbarQKBgB0+PP5m6XbwnbJaOj4nPLcyhDKHIIq8OqLHxgwBSwHZf9SKcH6hugsIm9UDDf19AOZTRFFgt/hs+tKA5Dk8vvWp44GbS4wIBWTYWp2R44xrOnCaEJ1oyIGatorqbq2IFADaJ1NynpXfD3snk2eNsBPSiq3PQzr1zX7Ljf9bpcL1AoGAEsnMJFnhOD/Lk8v5jR52cuEsi3Ua264JqVaqhTAoYNxoDS+PbUdKUVt7uCKfnHZnUV1Oug69yOqEsQX2JyncdRQ0MbwNHIoeBrdGUgT1MTW8tswRWlBqh4BKVVT2hQrrmlDiRdrwEnkiceDl38nHfnXPTXJoN34qqyCxcY6pmdU= -apiServer: - server: - listenAddrs: - - 127.0.0.1:8090 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -nodes: - - peerId: 12D3KooWKnXTtbveMDUFfeSqR5dt9a4JW66tZQXG7C7PdDh3vqGu - address: - - 127.0.0.1:4430 - signingKey: /Ou28/uU/z3BbGmkHMV5ev0mwl6lJI/NNniFlMm2gOeUHDfed/zbwYZLbPt1B0sujNx0DGKUgUTUXy/SE7biwg== - encryptionKey: MIIEpAIBAAKCAQEA23AWlsGaLrUxea+x6rkpy1ByqUJKdb2oS10q0urntUCivsNb7ipo1tvM2rldn6DAIrIC1nQHdlwrakNhl/j9zfX/GdACRDEuy7pVigm78QqYwSoyZn1l717HGjXKpJpa2m9Qyo6ZNGTLcej06zuOK8yUR4gudxSV5BJ2AmMvB9v4jUdCUwROSMy0e/hDa3Cx2xV33iULF/XltoeBVDoW6yYXfsok2yH3jHUV59yqQDbZO+kAj5rO8Fd/DnmGriuQZwAwdqJBH6/NtkhbA6triS/xW7f+RoyjjA3dp7TSUscHTFW0LIUaS0ZKt6amaanT7L/Jwi/0w133wTboYPG7NQIDAQABAoIBAGRYaGv+ElSDlSFRP6nXjI4ltplB8CzRUrFL5HZY5yZSbVmQmmxZxmFiV9Y5Z9/EMbhr8LJCktsEIPJR58IIIX/amxIhtbebSgvtpIogE2qRbvL+KdgGRePlUmTg7k7BKwSyXJ6UAOkdoo7veXhMXqIWxkPDuYPIzRZjfsVut6X+j0e9W2/kK7Tx1cn07GGyEX6T9sYsrDZud9xAgDWeE3ARga+M8l3RpTi3GiM6aaz82byjtn+uROUioUSDRLeOx4lOsmTzwWs4+tcyguqC4h/01Hejs9gDsJTOZ+xsrSc+eTsj1oOmABtHcuQ6NWq4KTqV9gVAB9BEMa39k3SrzaECgYEA9kd71vAwqFp6iu3INXBuwJouV72Egwm936KGcs9/NxfXQ7R6NdKa4LiWxdIn8e7uT6+bGPxCPuUmeJ9pYandb6j6fcBcGAjPOJPg5cTtoaeXSTOBNtzaoDLM191dNkhftXAgVoz6EQXUXaGXqnUEWDCptZ8/VKO4Jbb+Zco3F30CgYEA5BljE1KiWKP3IXwfndnPFKwev8Ds6YMczCFpiCzHB4LVLAWShUQrQIcA12yIRHTvD35Vg7SwH5mM+DFd9AMNxTznz8aC7R+jXEApeaCEQqBEKakoDFMsdblT6WFwerfl5ug32IyeKglfLuOiID5M740t+6TxUR1ZjnhIx3QdMBkCgYBUANn63H6cThBSZvzNTYZZZ72668fRMndzWmplquUHk7g3Pc4ZobZ2REAZRa+eVBMxVwKeKR0net3+ctFtIJWJSqf2ULCY+hhEghxKAzvS0elGbKz8W6Su0+UPFFCA/Xq31oERRJDfUY+4SDAFUlijBCY+7wyZACcFpj9r1OepuQKBgQDAJV6ffWHC98SLkYr0pvFZgbCZaYRpJQiSMKc8jjPO8PhwD/Wgi48/2TntPsD/od1sGMkinIgs5mWpAbUag6QK/cZs8dWCuL8dS/NkQMKJeYZR7ewNjdcLCGZWV72vstBZFk9M/Q+Ta7ehwSHmtXSL60rMC+M4qFezu0HbusWHqQKBgQCNuIsiB1yS1aByY2Hw2NJyAWFIRLuv4VNm+S/+YUJzOb/cuX5rwJ+PydJj0xD5mKKq5zGhCFzGZYdheKCYC4UQKn+Zz6Iv5T/mIJU7ELy9R2/I/Jv/IQMQwDXUokbNU8p25Hxul+rI+INjoHihUFKRNL68iuGVNjQHyKQYjit+mg== - types: - - tree - - peerId: 12D3KooWKgVN2kW8xw5Uvm2sLUnkeUNQYAvcWvF58maTzev7FjPi - address: - - 127.0.0.1:4431 - signingKey: ckI1ThxMQmAWH48so5jT614HNg4VppB/3jTfh1cdrzSSkFuVPiGzSDJcsgFLsRGW2WT0a8ymqtc4hog5Z4mdfQ== - encryptionKey: MIIEpAIBAAKCAQEAwQcHwXkTynIvU5PfTn9kaQEb5Zzz8eHl/uO1srbWI0hM+sIvhOq/ahYuhDlai0mAhRFQIvb6QRnWzCp3qvMH8+j8ls83BKV4hfxuS+SR/Y/LonW+WeLljiloMM5ju9tjw1iSslUK6z7d0HSLppQCCjMP+v3kKjx24qJ2T+2N1MAMbdt+S5c2P2jBUJVSvQbZ1AVuZTEzDau//+cZzV47lsODrVZ2SxW/KAAKA9xIJSIwBFyIqya54FDlrsy4HMcThxUbmcqy0Ou3bRjPR2f9A6QaNDNlolPhW1Z4gs+MTQOXJyAj2vdKwNKPwr8X6wyUtN4v8MiJt2yl4h3EVSVkGQIDAQABAoIBAQCak4iwdMdWfa5MncRb1kSQmiS+8bug3igSwEOHREejpYiP3uWy6VI0IGNL26oYlNnotf6YoXOyooCSqwd9zHV37AIquvHyNJiZo5aoC/ilN3v5M5Ul4j+2Yo5fV0gi7gOsMcf4K4Y88PEst8gFs80WYeHQO3V2JUmHIFbilvfXgDfQNuKlHXgWq5kNNCxIobGpuP70Vvn1ANkDXLt+bU8RCbmBYFUZ/4HUeawf2NX+Xn5T1NFpheA68hAGprFQu6CuEsM34TtPZwH5SxyvOmA218nQbtq5fNLUgHZdq/uAeQyq7E8kxyOMEbx7m1UYtxDjwowBQgQd1dOtm3wTeQdpAoGBANjs7B0IW/B3TY6mRipcKtTYMVJ+M6AKu7etTkcmM6NpLGaIL9HqNP/a8PoNmHzVOBPJlC96ChQAvcULe+SKBL4L5g1T+k7OQvHEFMwzkFgs/HxjvQE9b1xX1Qyp+e9H7yvrcJhvRPbj3LLp7vunHL9dEm4/PFNKgCFExNsiv8WvAoGBAOPMGXtAethDYZE7vdlD55GdhsgklCmF3YQcraWsZrswj9paIBV8FWtVZIUDdaqOasPwT8L2NdajYWXXcmLlvxkOQQx7+cJG4SdLRwEz531rXvtcYrWPYYwjf37DQMi2qRmvZ0Oc/atitwN7mQ4wCMzZ+CV04HJTjK4eRfeDeyy3AoGAFbQWp4z3jeaR1uzh5kkUa/k5bhR8W83XHDh1tX6n+fiC3btQdYMmTFb+dzY3BH5cvvYTInDmYzvzwKw2eBYrBUyxdrHpQEs4vXGt1wRts7TEijl8ZoxcAPQ0t7Cl9f/PeSh0OnwffUgtA6WOKJV+tdK9DlS7V2YDzdBQldAzObcCgYAbjn0mo844iy4qW4fD2KsSunOrkoE55K+/Y5i+CfUDgARm7bAj6TbOHS5jyN9bGo9f1JpRg2dP58PIhh+YRyKu7UKBOB4mmlxyXHDifFzslyiOT8bBH+80/LZXp1cW8MHUEZv0WfF14iMxkKobRURLQ7L5FQJx0hmalp7wKj+kUQKBgQCEavx+ELQu1M22t4Kk1MOI1zEsrG4D+hjACmoWQsIjMqi5x+9vPJNshrO9vbYljjsIt4EOfqBB88oMepCesVHwbX3+/j7Yb48pmf2vZNcQ+SFozJqnCqYNQiWMtNXWT312NVdzkvpTlA0e1vaauwJjtetRnYDJUOPjc8BrdKsftw== - types: - - tree - - peerId: 12D3KooWCUPYuMnQhu9yREJgQyjcz8zWY83rZGmDLwb9YR6QkbZX - address: - - 127.0.0.1:4432 - signingKey: EqD0bdvO2E9+i29hfJTMtae8Zw8Dgnb/KanLSg59K7YndQHdxxvtVUljy3htlXd7dGKfEuJ7EglVHdNxzg5q7g== - encryptionKey: MIIEpAIBAAKCAQEAuOwKfzHLrm94jH4PElKfkB9geQ5OhtdbcS4K3TeyZ5xU0hi0TiXxOiHQOCg2uO7B/fnQcAArUBvPNa4QOvNuWRY+246FHYBxCJvJdfOpwirQbQ2l5iqR13rpSAELnF/zB4XMQa6wGVhsgWipvY9PUrLF6RwpeeBu9OtpVaA2oUiUXyD+v1f4dNXjZqrTKS9IycksGEEI4knEfG421K862BRty94pVWfqv/ZgpJUQZiWLX9CSbAdvjoHxOdm96VhMjTBw3oyv7hTr/zQR9y77OMFwOOBtn4QWXSS54r89inoksgGjH5cProhR+V4QZ4962TGsnc92j+IjtlxI/o3CuQIDAQABAoIBACyLl5+6NBFqAsT9HM5SHuPN2yRuINZ0jC+AYteVMiGpU/lkQBLPKwPQ32KXtU7pHMv8YIyKTeS3Pjv1GS3KNBu7sxqag1Bu/0uOk4IZVxxRyfFrJzqBqK4aipVwwwZBSr7WKTTtSrhgR4sI1lK2ceo+7FPSF9+nA7N1/eLFfENvWegG9cM9G1162f1ypTmTKB6zvyEhrMnpw5IWGiyL41Pbn7Q6qMxJCMedJn40UWwZ+K04StxcX0MdPqiRC1mhEECF23y/Yu3QYVlyAR/Ya6POPK+Y/PQhvYuA8gMbdJgM/BpFntqqJx6nf9ojZjmkpFytHuKojDP+SOYSvifGSzECgYEA85YGa9DNHeEGU7e7U6iReHn0Cy1ZlDl4q/E1tyOSY1tpuTdiIYNLZAmx/ZDLj7y8NcNwK44CWhNGUlsTGOL0wrsFefH6tJOLLklTgwo6gnFFeNKUaTrZMQhu1Rf6fruO6yUHe34EgDnMIclx3+bXpZmWGVVOXLx7e/gQfDiRg3UCgYEAwlimHW2pJshQdCCyIFPvf36FK7xNiTIGy4VW8q8ulX4UESioxQtv8Irf5UCo1WpTSNA8RYRPU4gZnp0jkBydNDU2bdNGiN3IySU99/2dtYEHPJAferwXoOVdSCVXw2fGyQZK6GaciWDP3bgZdVKBSGBCN30eJ2PDVKni2NiHbbUCgYAdPHKE2kjkPy/9OF45ik/7f9e0x7qqucMsEAV8d76IQl6MJoOWtiWEWk2Mu6ZTGDoW0eBSufa6TPnxxJCkOglangvoOQz4Q4U/BvoJDl87bNED0XKStsd+xR5YYUplj6l1u7oMLnHn2ggQPhd24kQb0jVb0QtYwh6oIHwKDNgaSQKBgQCuTYeeuS2ORPYzUOexKtaQSE7z7My1kZKakhprSkbDePJSeV70as+Ys1UfbaB+1/+ePHTx/DqRNm2T3md45tDvdBI+6dBHDHL6RFaRxnrdwL1WygQRtgSTH2NMQ4G1Fawpu2UPjogyhguoVWcv3DFrUjnRPnv+4/DaTAvSZFECSQKBgQDh6g0n+MIknDo89ffCmIuD5qkPi7GYYGBfQ7HHHq5dUXazN6+vKazgGEJo72MU4ZlHl/U33MoMuuVP2cBEYJx8iMaP7ze8jUWVRA7rzg4A2ayBCOQxpBehEBhD1yEBPKO5PVTYV0a3BiM4tQLLPuoh5QcB7ANwmZkFdLpizLqn2A== - types: - - tree - - peerId: 12D3KooWNT4hbNKXeFuDtdQ13ZbhQ1oJJ2AVWgAQVRrCj6Zb5wxk - address: - - 127.0.0.1:4530 - types: - - consensus - - peerId: 12D3KooWNQZjL4H82u9qdjpWFBFjFdZyTqvgXT6dajkJuRn9yE8H - address: - - 127.0.0.1:4531 - types: - - consensus - - peerId: 12D3KooWR5tEHzEqVjQas8PfhsGjWMooTWXsryDUz8HXWYnQhczf - address: - - 127.0.0.1:4532 - types: - - consensus - - peerId: 12D3KooWQxiZ5a7vcy4DTJa8Gy1eVUmwb5ojN4SrJC9Rjxzigw6C - address: - - 127.0.0.1:4730 - types: - - file -space: - gcTTL: 60 - syncPeriod: 20 -storage: - path: db/client/1 -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/configs/client2.yml b/etc/configs/client2.yml deleted file mode 100755 index c6872449..00000000 --- a/etc/configs/client2.yml +++ /dev/null @@ -1,72 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4631 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWMNDfQ3veiG7ZKPcQWWC8WWwuoUhKEwoUiertQjpFpqkM - peerKey: /5OcmokQbtnPAEJiRUuSdoW4M8Qe/UyD155FtDSlrDurmYY70d9v8jL6GaU/SO6PtaawiYJbzhIKrVOAtqtOKg== - signingKey: 1ABIkla1rsphFo0PZPzOtVM5DKoJqDd+iIwN11WvFKLQ+10fWq2dZcAddmkyX7utEerlVFH7bqTPquqoVlUqpQ== - encryptionKey: MIIEogIBAAKCAQEArKfNFTVh2k3guPoy0aIHjKdwqmEMEKs4EJWu7kkXzYy1vqQQWb4pyTKoQ/3oaZuyXxib9dzgImIxzSyRXroIgODeapXA3lCR56zf+deJMGf7v/HJpDqK6K0IjJqOnXTKjY4uVcqsXDEFX3er+PunetZoVh3BFt8ZjfeJrfgQ0KN+21Ki7qiB9CuvEMOh4w0a62LitxMfxzK/sRYL8HDWU0m3p+kFPs5eLJOiRC1g9rE2NLtivwOhrNKkx1SaVV8E/4YwZ4guERvgVErzKhc1hFwHtjP+f2ZiIX7l2s0JspSEDyYCUCbEHFDcDEZvgLXjVzh/L18JwXL/gqe2zmd5CwIDAQABAoIBAEMocilRvmI/8K2DBMluESmw564eWacSMpig4I5neA7IMNmaz5FY2sAcKD9qQED0AwnidKfJ5pT5RQ3dzB3glvYqgdlLrt3K0TYglG6GXCKsD8y1rA1piCbBR5YJeHfeufsd1wAf+bNSjhh4YDhVCuxJAgSdRkIzPalvI+q7ly7QBaXJMDs0ywxCombKTnhsJGxMP4d34497J659iIi2T94RjO/vnFKKR73FyxGgcc8/zMzsovVwP/m+PC+d0cuqN6K/2F8bGBRCG684aS7CIjz1tuV4yfY2SsDc77V4Vwu6BJjl1UMeVb8vb16Fuw6j4lhjWsZ9Knpekh8vzTDJE+ECgYEAwX77PVGpb2cwoMzeF2bfIGggmLJHxG6xzcEfTXAImBssOePL+ce3svyECwXGDmqLmayL/N6rDpsu8kSnRGy0h7aYo3N1V+GNAk1QYs+2BjSCMCdpAbdC0/rgoobcAJwOGw4qxvvclxqLNPsV7AbrYA+/CJZsiJNGV9O8TOCSFrUCgYEA5G1s08EEoiVd4tPlphgho1cvsUHRT8iCUbmaNBhhP2ujbR74pg5M6ixFAfrX7FG5b0DzQ/PWDLjiBVyJP8z9NJGE9Ui3THOAumx8bX6J/KrV05bUeR3HE1I0h/5XBUVuqrEZnkwZZsFeWewP1wZGOZDERGhDMgLSMD3nUA3TaL8CgYAGlkMJQFlrQHEIWFELLOZVnRXW/OKyji4hWfytzy2LuAkWY2nTM/hN8IiyM10dqoTcE2KklhPuqFu9xZaIHsc6g33Iuqp49mWteWJOKtIAfhMcfor1kv6EZtr0zXB52NYmF6JfKb3FqxKoGBAT+9xRZdfT/ALv10uiu8OCPnbarQKBgB0+PP5m6XbwnbJaOj4nPLcyhDKHIIq8OqLHxgwBSwHZf9SKcH6hugsIm9UDDf19AOZTRFFgt/hs+tKA5Dk8vvWp44GbS4wIBWTYWp2R44xrOnCaEJ1oyIGatorqbq2IFADaJ1NynpXfD3snk2eNsBPSiq3PQzr1zX7Ljf9bpcL1AoGAEsnMJFnhOD/Lk8v5jR52cuEsi3Ua264JqVaqhTAoYNxoDS+PbUdKUVt7uCKfnHZnUV1Oug69yOqEsQX2JyncdRQ0MbwNHIoeBrdGUgT1MTW8tswRWlBqh4BKVVT2hQrrmlDiRdrwEnkiceDl38nHfnXPTXJoN34qqyCxcY6pmdU= -apiServer: - server: - listenAddrs: - - 127.0.0.1:8091 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -nodes: - - peerId: 12D3KooWKnXTtbveMDUFfeSqR5dt9a4JW66tZQXG7C7PdDh3vqGu - address: - - 127.0.0.1:4430 - signingKey: /Ou28/uU/z3BbGmkHMV5ev0mwl6lJI/NNniFlMm2gOeUHDfed/zbwYZLbPt1B0sujNx0DGKUgUTUXy/SE7biwg== - encryptionKey: MIIEpAIBAAKCAQEA23AWlsGaLrUxea+x6rkpy1ByqUJKdb2oS10q0urntUCivsNb7ipo1tvM2rldn6DAIrIC1nQHdlwrakNhl/j9zfX/GdACRDEuy7pVigm78QqYwSoyZn1l717HGjXKpJpa2m9Qyo6ZNGTLcej06zuOK8yUR4gudxSV5BJ2AmMvB9v4jUdCUwROSMy0e/hDa3Cx2xV33iULF/XltoeBVDoW6yYXfsok2yH3jHUV59yqQDbZO+kAj5rO8Fd/DnmGriuQZwAwdqJBH6/NtkhbA6triS/xW7f+RoyjjA3dp7TSUscHTFW0LIUaS0ZKt6amaanT7L/Jwi/0w133wTboYPG7NQIDAQABAoIBAGRYaGv+ElSDlSFRP6nXjI4ltplB8CzRUrFL5HZY5yZSbVmQmmxZxmFiV9Y5Z9/EMbhr8LJCktsEIPJR58IIIX/amxIhtbebSgvtpIogE2qRbvL+KdgGRePlUmTg7k7BKwSyXJ6UAOkdoo7veXhMXqIWxkPDuYPIzRZjfsVut6X+j0e9W2/kK7Tx1cn07GGyEX6T9sYsrDZud9xAgDWeE3ARga+M8l3RpTi3GiM6aaz82byjtn+uROUioUSDRLeOx4lOsmTzwWs4+tcyguqC4h/01Hejs9gDsJTOZ+xsrSc+eTsj1oOmABtHcuQ6NWq4KTqV9gVAB9BEMa39k3SrzaECgYEA9kd71vAwqFp6iu3INXBuwJouV72Egwm936KGcs9/NxfXQ7R6NdKa4LiWxdIn8e7uT6+bGPxCPuUmeJ9pYandb6j6fcBcGAjPOJPg5cTtoaeXSTOBNtzaoDLM191dNkhftXAgVoz6EQXUXaGXqnUEWDCptZ8/VKO4Jbb+Zco3F30CgYEA5BljE1KiWKP3IXwfndnPFKwev8Ds6YMczCFpiCzHB4LVLAWShUQrQIcA12yIRHTvD35Vg7SwH5mM+DFd9AMNxTznz8aC7R+jXEApeaCEQqBEKakoDFMsdblT6WFwerfl5ug32IyeKglfLuOiID5M740t+6TxUR1ZjnhIx3QdMBkCgYBUANn63H6cThBSZvzNTYZZZ72668fRMndzWmplquUHk7g3Pc4ZobZ2REAZRa+eVBMxVwKeKR0net3+ctFtIJWJSqf2ULCY+hhEghxKAzvS0elGbKz8W6Su0+UPFFCA/Xq31oERRJDfUY+4SDAFUlijBCY+7wyZACcFpj9r1OepuQKBgQDAJV6ffWHC98SLkYr0pvFZgbCZaYRpJQiSMKc8jjPO8PhwD/Wgi48/2TntPsD/od1sGMkinIgs5mWpAbUag6QK/cZs8dWCuL8dS/NkQMKJeYZR7ewNjdcLCGZWV72vstBZFk9M/Q+Ta7ehwSHmtXSL60rMC+M4qFezu0HbusWHqQKBgQCNuIsiB1yS1aByY2Hw2NJyAWFIRLuv4VNm+S/+YUJzOb/cuX5rwJ+PydJj0xD5mKKq5zGhCFzGZYdheKCYC4UQKn+Zz6Iv5T/mIJU7ELy9R2/I/Jv/IQMQwDXUokbNU8p25Hxul+rI+INjoHihUFKRNL68iuGVNjQHyKQYjit+mg== - types: - - tree - - peerId: 12D3KooWKgVN2kW8xw5Uvm2sLUnkeUNQYAvcWvF58maTzev7FjPi - address: - - 127.0.0.1:4431 - signingKey: ckI1ThxMQmAWH48so5jT614HNg4VppB/3jTfh1cdrzSSkFuVPiGzSDJcsgFLsRGW2WT0a8ymqtc4hog5Z4mdfQ== - encryptionKey: MIIEpAIBAAKCAQEAwQcHwXkTynIvU5PfTn9kaQEb5Zzz8eHl/uO1srbWI0hM+sIvhOq/ahYuhDlai0mAhRFQIvb6QRnWzCp3qvMH8+j8ls83BKV4hfxuS+SR/Y/LonW+WeLljiloMM5ju9tjw1iSslUK6z7d0HSLppQCCjMP+v3kKjx24qJ2T+2N1MAMbdt+S5c2P2jBUJVSvQbZ1AVuZTEzDau//+cZzV47lsODrVZ2SxW/KAAKA9xIJSIwBFyIqya54FDlrsy4HMcThxUbmcqy0Ou3bRjPR2f9A6QaNDNlolPhW1Z4gs+MTQOXJyAj2vdKwNKPwr8X6wyUtN4v8MiJt2yl4h3EVSVkGQIDAQABAoIBAQCak4iwdMdWfa5MncRb1kSQmiS+8bug3igSwEOHREejpYiP3uWy6VI0IGNL26oYlNnotf6YoXOyooCSqwd9zHV37AIquvHyNJiZo5aoC/ilN3v5M5Ul4j+2Yo5fV0gi7gOsMcf4K4Y88PEst8gFs80WYeHQO3V2JUmHIFbilvfXgDfQNuKlHXgWq5kNNCxIobGpuP70Vvn1ANkDXLt+bU8RCbmBYFUZ/4HUeawf2NX+Xn5T1NFpheA68hAGprFQu6CuEsM34TtPZwH5SxyvOmA218nQbtq5fNLUgHZdq/uAeQyq7E8kxyOMEbx7m1UYtxDjwowBQgQd1dOtm3wTeQdpAoGBANjs7B0IW/B3TY6mRipcKtTYMVJ+M6AKu7etTkcmM6NpLGaIL9HqNP/a8PoNmHzVOBPJlC96ChQAvcULe+SKBL4L5g1T+k7OQvHEFMwzkFgs/HxjvQE9b1xX1Qyp+e9H7yvrcJhvRPbj3LLp7vunHL9dEm4/PFNKgCFExNsiv8WvAoGBAOPMGXtAethDYZE7vdlD55GdhsgklCmF3YQcraWsZrswj9paIBV8FWtVZIUDdaqOasPwT8L2NdajYWXXcmLlvxkOQQx7+cJG4SdLRwEz531rXvtcYrWPYYwjf37DQMi2qRmvZ0Oc/atitwN7mQ4wCMzZ+CV04HJTjK4eRfeDeyy3AoGAFbQWp4z3jeaR1uzh5kkUa/k5bhR8W83XHDh1tX6n+fiC3btQdYMmTFb+dzY3BH5cvvYTInDmYzvzwKw2eBYrBUyxdrHpQEs4vXGt1wRts7TEijl8ZoxcAPQ0t7Cl9f/PeSh0OnwffUgtA6WOKJV+tdK9DlS7V2YDzdBQldAzObcCgYAbjn0mo844iy4qW4fD2KsSunOrkoE55K+/Y5i+CfUDgARm7bAj6TbOHS5jyN9bGo9f1JpRg2dP58PIhh+YRyKu7UKBOB4mmlxyXHDifFzslyiOT8bBH+80/LZXp1cW8MHUEZv0WfF14iMxkKobRURLQ7L5FQJx0hmalp7wKj+kUQKBgQCEavx+ELQu1M22t4Kk1MOI1zEsrG4D+hjACmoWQsIjMqi5x+9vPJNshrO9vbYljjsIt4EOfqBB88oMepCesVHwbX3+/j7Yb48pmf2vZNcQ+SFozJqnCqYNQiWMtNXWT312NVdzkvpTlA0e1vaauwJjtetRnYDJUOPjc8BrdKsftw== - types: - - tree - - peerId: 12D3KooWCUPYuMnQhu9yREJgQyjcz8zWY83rZGmDLwb9YR6QkbZX - address: - - 127.0.0.1:4432 - signingKey: EqD0bdvO2E9+i29hfJTMtae8Zw8Dgnb/KanLSg59K7YndQHdxxvtVUljy3htlXd7dGKfEuJ7EglVHdNxzg5q7g== - encryptionKey: MIIEpAIBAAKCAQEAuOwKfzHLrm94jH4PElKfkB9geQ5OhtdbcS4K3TeyZ5xU0hi0TiXxOiHQOCg2uO7B/fnQcAArUBvPNa4QOvNuWRY+246FHYBxCJvJdfOpwirQbQ2l5iqR13rpSAELnF/zB4XMQa6wGVhsgWipvY9PUrLF6RwpeeBu9OtpVaA2oUiUXyD+v1f4dNXjZqrTKS9IycksGEEI4knEfG421K862BRty94pVWfqv/ZgpJUQZiWLX9CSbAdvjoHxOdm96VhMjTBw3oyv7hTr/zQR9y77OMFwOOBtn4QWXSS54r89inoksgGjH5cProhR+V4QZ4962TGsnc92j+IjtlxI/o3CuQIDAQABAoIBACyLl5+6NBFqAsT9HM5SHuPN2yRuINZ0jC+AYteVMiGpU/lkQBLPKwPQ32KXtU7pHMv8YIyKTeS3Pjv1GS3KNBu7sxqag1Bu/0uOk4IZVxxRyfFrJzqBqK4aipVwwwZBSr7WKTTtSrhgR4sI1lK2ceo+7FPSF9+nA7N1/eLFfENvWegG9cM9G1162f1ypTmTKB6zvyEhrMnpw5IWGiyL41Pbn7Q6qMxJCMedJn40UWwZ+K04StxcX0MdPqiRC1mhEECF23y/Yu3QYVlyAR/Ya6POPK+Y/PQhvYuA8gMbdJgM/BpFntqqJx6nf9ojZjmkpFytHuKojDP+SOYSvifGSzECgYEA85YGa9DNHeEGU7e7U6iReHn0Cy1ZlDl4q/E1tyOSY1tpuTdiIYNLZAmx/ZDLj7y8NcNwK44CWhNGUlsTGOL0wrsFefH6tJOLLklTgwo6gnFFeNKUaTrZMQhu1Rf6fruO6yUHe34EgDnMIclx3+bXpZmWGVVOXLx7e/gQfDiRg3UCgYEAwlimHW2pJshQdCCyIFPvf36FK7xNiTIGy4VW8q8ulX4UESioxQtv8Irf5UCo1WpTSNA8RYRPU4gZnp0jkBydNDU2bdNGiN3IySU99/2dtYEHPJAferwXoOVdSCVXw2fGyQZK6GaciWDP3bgZdVKBSGBCN30eJ2PDVKni2NiHbbUCgYAdPHKE2kjkPy/9OF45ik/7f9e0x7qqucMsEAV8d76IQl6MJoOWtiWEWk2Mu6ZTGDoW0eBSufa6TPnxxJCkOglangvoOQz4Q4U/BvoJDl87bNED0XKStsd+xR5YYUplj6l1u7oMLnHn2ggQPhd24kQb0jVb0QtYwh6oIHwKDNgaSQKBgQCuTYeeuS2ORPYzUOexKtaQSE7z7My1kZKakhprSkbDePJSeV70as+Ys1UfbaB+1/+ePHTx/DqRNm2T3md45tDvdBI+6dBHDHL6RFaRxnrdwL1WygQRtgSTH2NMQ4G1Fawpu2UPjogyhguoVWcv3DFrUjnRPnv+4/DaTAvSZFECSQKBgQDh6g0n+MIknDo89ffCmIuD5qkPi7GYYGBfQ7HHHq5dUXazN6+vKazgGEJo72MU4ZlHl/U33MoMuuVP2cBEYJx8iMaP7ze8jUWVRA7rzg4A2ayBCOQxpBehEBhD1yEBPKO5PVTYV0a3BiM4tQLLPuoh5QcB7ANwmZkFdLpizLqn2A== - types: - - tree - - peerId: 12D3KooWNT4hbNKXeFuDtdQ13ZbhQ1oJJ2AVWgAQVRrCj6Zb5wxk - address: - - 127.0.0.1:4530 - types: - - consensus - - peerId: 12D3KooWNQZjL4H82u9qdjpWFBFjFdZyTqvgXT6dajkJuRn9yE8H - address: - - 127.0.0.1:4531 - types: - - consensus - - peerId: 12D3KooWR5tEHzEqVjQas8PfhsGjWMooTWXsryDUz8HXWYnQhczf - address: - - 127.0.0.1:4532 - types: - - consensus - - peerId: 12D3KooWQxiZ5a7vcy4DTJa8Gy1eVUmwb5ojN4SrJC9Rjxzigw6C - address: - - 127.0.0.1:4730 - types: - - file -space: - gcTTL: 60 - syncPeriod: 20 -storage: - path: db/client/2 -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/configs/cons1.yml b/etc/configs/cons1.yml deleted file mode 100755 index c4789561..00000000 --- a/etc/configs/cons1.yml +++ /dev/null @@ -1,22 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4530 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWNT4hbNKXeFuDtdQ13ZbhQ1oJJ2AVWgAQVRrCj6Zb5wxk - peerKey: 5Btn70kUmMokNhSDhu3GzuFcbLxK9aRnoyb/zPWkLvu7svtWJZxQDJ5AWYZ4TxGhgb/GbZB1nPjp7Kz+V+J4OQ== - signingKey: 5Btn70kUmMokNhSDhu3GzuFcbLxK9aRnoyb/zPWkLvu7svtWJZxQDJ5AWYZ4TxGhgb/GbZB1nPjp7Kz+V+J4OQ== - encryptionKey: MIIEowIBAAKCAQEA8/3ITa/Tjr46B2UmrCqCBDctoSUMjJGeF8vAZMEQLsR4tn9ngDga9kk6eMwiBJ8u18gqe5ATNghLSkDENQ/tUehkFhZFHdbb/T3eNb3kjD22YFRXuoW/fGPD6BtVQu+ZpZ57u9OU9O51fPcit7DjNM2kBPRrleNJ49Ijye+h/BApCtUSiLEZ/Ivd+CCppnJzyLtokWyZY1VgwXkc5wq+iFXxXAtD6PfE/hNmopkYK9Hh4fy//mNZpxJbtmutFC0TlIvlZe0e9c7ZpTO29TaxyqQ9Kma59OCc/PQ4dD47mMySwD5xi+oY9jJensz8o9eX26L/s1yTSfv+U0recgACpQIDAQABAoIBAQDRn+6h4DhQ4VqV0+/f5z2BRa7sThp0Av/izelkJwMySxazJM7VuF5hzxRviGKJugHS3mSxeF0pBQM6rl5kgGSTBKhI2aVUN68V6jupzJY5byPrq0scM6EKy+Qa3LDqK1TEmF8SRnwp214RmXq4ez8ZtLwAjcaJJpfrJjYdXsa6+bHrwZsOfhETbh10j9LwJAJ4rDUUPGi/7zB1wr75Nm2OlT3aBSPAjW6ISSqjAmi9eTUqjuv8hqqo2MlYcRGCUKMvvcUbAr6QxNClV0X1MM1X69jY5BEVM8X2qkT14/0mAKSBd/3kyB6fopvIsa1q5abYFqxCctt8RJ4MY6iEbTcZAoGBAP1qdGBPCj+Cy16WzvkdNjm2cbBPiJJukNdCnoUt1LGKhSQUgponslJJ9v0BwLTVtPrhuAxu3euOeU+KYHwCsqX8EYk1qEqJxSN/w299kqh22raEPYq9VDjczMm2yEjtkpPaOKw6fvFUUjoVSahE9pa2Kf8Wuwcp8rDjhXj65xRXAoGBAPZ6uZ1WdoHKzZQgsCkqjYkBklbEeuWE2722mT7tymJV2iEmKp9hjRs81lYhuiLdyIF3wJDrDNJsWTQaiZiWdMGYum0+aNA5Ix7YI08Fi5nE3UzU0qdp8FjWx7qKPmJJnMEZ0KIYv/gxwqEB9FkbBVU2ws9gVpe5EJgBTv/I9uNjAoGAaBHpzQtoqABsyGGiigeHF1hnhAKFka06akx/kS3rJSY/2ztZDzmyL70UY37uxtTkyAsebGyzUmNmSlYHnaX1+9hy0yhn/oRpo1R6zDSDoA9/bmkMZQevqNJ0f3pC8kAua+24THKRY0Y/pn7LiwEXS3lv8cRB9oUxl5c4XyCa+W0CgYAlEFlfFoRlihiV4MB8wEBeTNUzpQISB4N/qLispNddKCnP+ExKgUHVybU1aIbz/UPMbDSR1jasYcycMC1mu6E9B3lpOgxK23yzg67zkBLpAZiBmDNBJ4YT5eBM5cLxxr4Cr54W8f/UE69/xKp4x75qjPyIcKU01YhwQyoc/pxZnwKBgAnQAiWxh4c71U/7Q9VzYHbN4w686ymtqsZE3LhOo5i7MsovGDh7ppIZK7K4aYs6imuV4Iai2KXdFCkn1Pe6jwTE30O3IkBxQJiNu19PuoDXKgnhzAtCzeX2wQK0UtLcKERgrIaMCDTBNT9xa8eY2fnLWSa9Bb/U0zky2DXTpWEF -mongo: - connect: mongodb://localhost:27017/?w=majority - database: consensus - logCollection: log -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/configs/cons2.yml b/etc/configs/cons2.yml deleted file mode 100755 index 2c84fa5e..00000000 --- a/etc/configs/cons2.yml +++ /dev/null @@ -1,22 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4531 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWNQZjL4H82u9qdjpWFBFjFdZyTqvgXT6dajkJuRn9yE8H - peerKey: SWdUoOefb/9zMLAYBgoNunIq4tzXm5Lr9Czn/Hs2IEO7DxBIWh7yjXSXpI5maURS7clClZOBe5PVO+1HCPKR2g== - signingKey: SWdUoOefb/9zMLAYBgoNunIq4tzXm5Lr9Czn/Hs2IEO7DxBIWh7yjXSXpI5maURS7clClZOBe5PVO+1HCPKR2g== - encryptionKey: MIIEpAIBAAKCAQEAsQGYl8hNwYzrug/FZ/K37dzUGxf6a2/tpMCVNTDwW5+UfGsWg4m1yuQwn3LubKIO9imC+jVLZ2XYisdu6WttFmdMzYUxflza5/xkuUjGuLkptKZeL996rP2xioKfMWaWjo8OpJ/jVr9HWx4buFWLqI01gwarXi5DnGKEg7BdvzcAeJO3k9VhhMTR5o5nCHRHaHH+EbOKV7rG+unDQYmoz1WgogJMbzNFTkOL8jxKpnGg36QDOtEQhngSyA/2f+nhucEihX5s7IfC5qw0cFHPovDxn0MSGAPYDxTsgZ/A9jz5agFDQ2PrTHJN0YWXg8IEvZ02A2kDVWos0pEGlE/OxQIDAQABAoIBAGPfVKv/lu/ohXEcSPQX3XPWr88Bvog0RVA6YXX7wQLRjcSN38wkPXDXRCAThzfAUNTQI1juDTewHXhggtItjQWhD5K+3mhAGDvhCywIRiggQcnuPSKh4+QL2MsgXJZRHg4d5dM5a9qcXrSozlc53W0jD9h4QOUJEZkBdWegcaTbgOovYwmMvsCEOQ8pDObd/uqWx/iid98//VtzEEDPw8/gC5hqMoJiQb1WPJ8y3Vrh94hinde6SHiwb7po36geMcsQ0kaWv3fAimyWW9YZSBgvBTnwRPXJXsnoIbYYkEH5GOV1d4l59RzMqDIzCuQGiDVmwQ1qhQ7Cz7lVHFlJcsECgYEAxIfCQUovW0Zyn6Fro9h6tvMccwWKRMLYkQPyOCMZNKwpbE4PxxvENJfr1jdQ/lljZbot1kmzqilfKOOCH4DCtwoRvZ985h/3wbw3IIOIiWeSoHq0dxm4kN6dXu2F3VyyVjz5XgJ1IL60hG6+XA0vkQ8ILDOac3MsvgrcKzBiz+kCgYEA5pFnIS7pzH8gtqSMXbI/Dyjg1KvNqaYqG/c2mbo1Gubm1tmTxAfe24vSTaOpSj1b3PL2xrpPrG6QlRRqb1ob3nR2E3I0RaLRCc/UUm/RVNfc41Kuisd5pQPq9nJ0CdM3A9TbRs54hyHFc1ObtN85hFbYyLTS6Avx+21wKzlZun0CgYEAsN4MsH13CQnpdkfre1UDe0pnPAysVx2TkU6f2m2b7Y9S6CmIgYQ3m61tjSfTOFRx48ceIU/K5US+Yyn8nSVgFyJ0vNafrOrwKeadJiG56w7PIqXLa7Q2KgpuTlQsuP8HcB0HvtcvWfzGsLiJkIY9XKrOjBkU0vnANnfHlQbCpqECgYEAkDnWHAC/iQbgzL8Dery8C1yTvxS08nEZmCK8yc6b13cmYLD7aL1Pn1/ILn64r9LP+tcUnN0AZ6lF0atSpNLl6fJJxgJDRmgBgLS7aNG/TOY2qxAWVINQyXM47+5KPbcci84DWDhhVo4+d9SN6sdTsD+vHWVXJIYMWS1s4+zc/vUCgYAkTPNny+Anx6/WS2bQ2rRz/w+K6CWA4JPxaZW04eX5RrBd6PbAyI6xmU8YfbcM4OegZUzGybmqCxkIGN8vgiI3h85ZZxt7foRG89DJAJbdCItandjps2MHM7NHm+qbgEYF69/7c5d6J2B0Z0wMzVsdk0eTrwnhU76CA4MjPabBaA== -mongo: - connect: mongodb://localhost:27017/?w=majority - database: consensus - logCollection: log -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/configs/cons3.yml b/etc/configs/cons3.yml deleted file mode 100755 index 39a70241..00000000 --- a/etc/configs/cons3.yml +++ /dev/null @@ -1,22 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4532 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWR5tEHzEqVjQas8PfhsGjWMooTWXsryDUz8HXWYnQhczf - peerKey: ZeIGyAHh5/FOyPAFABPAGls2y8u5q9ndlXeWvWtlG9ni2QGe8+mu6KS6Lf2aXqDnALprDUSaeb/ezTAGB3NtDA== - signingKey: ZeIGyAHh5/FOyPAFABPAGls2y8u5q9ndlXeWvWtlG9ni2QGe8+mu6KS6Lf2aXqDnALprDUSaeb/ezTAGB3NtDA== - encryptionKey: MIIEogIBAAKCAQEArgUvy8MrSMDHzymuOC5xsPmQB93P+cd47FgeinZPS/DdEIXJDCc7VhbYDX4cZdxYgqoISJLgUN6/HNrAQILh1u2TA+meLPgtKCZgSgs8UGLYbQl1OoWd2BEpy7K6gxYNUu+mxvrMUOXSjU8Jl/yde8WeqZGBeNRQLHYXpw5DoSRQ91pag6Z8llIM/m11A8OUtFQMq1z8v4LHaQoi1Z7cyPJqLKEUS8etjJ8cHYWXF7b/68vbPmYiv4IwpWt7zefpfL5Qa/NcQgPm72HNz29P2V3h90Gs1muYy0Ka+GfCOcNqv4hnXfK78YZlACFBtBCn5Ar4CmT2LuXsIHe6qyXOqQIDAQABAoIBAF5LgTKwduvdSmf+9eCLih+Tm3AnyWJXrDalKSduJFnKEn+5fs+PEp/7kOb+xvSLCYsEB6kLrXEkwfoorrRGN4n3AgrEtGk5sX5oDRUSMYR9izjKPzOO45EI+9Tc7CPL9zxRj9WSYNQVNJpNka1BvTQsSWUo6zdGFIuDEh37pLnTxy2C3+uFaWI7aMUllU16ACO+0cNaOWKCKtASHk75SSTqnEh2P00oH5SBOUjmeAPc4eVpkzcR0+xbXQU+m0hs+9NKnrrQsNFUuWhv5Evvg5KrwWhEBcsbR4n8+q4YF2mj/eRbVK4eI7bc+vcrvF9MjuHpuuQPkQuH0ZqxDEuKmGECgYEA0kjm/FhaRlGgBZkh+z//Qch4dvK+ZtOiM8yKmYqctecl9mPL9fQoTMbTP7ml5y9Wt3z9msplD/b5FICfq327zGX+tFD3ZRXxtSzL0G0hTp6kh6Ywgj++pjK1tDV82uW1F8AHxsdyDl6wCmp0SIwF44j3kjpJ4oi9j3tMQX8doK8CgYEA09oI7SVvPYmTya8gCDBsZLM7kReEQPA8D8KVO24EdTYzjwpiwmQGocqxSmkQ36Rnn45/33JLnrSWMPVdXuHJ7XNvuKu94r3+2t7zUw4T/d5l7oBRXicEePz650IeeqoTddQgFEPIWXQmyo0XlKwZ48wbF0gLAev9l0c0iPDP7CcCgYBhREtjqdKH+DWWoVBwkReW7A2cp4eetIGwiAoMH2uBUFvk7iBnsfn6GXWZYlv05Zas5OnBcaDxk4F/FEfG4S++yebYrSLh5RaagQ/9Zp0jaoocHKkPdkDPS2F069DGx73OMIroTVTahL3U84y6CdqndrFdOAz49dsIxTVujke8DQKBgDGA12kiwDWu+ju8kk2XkxyMzTSAPEU4XbCJFXoHoT8KZU3dbWpjGTGhPYBXwLuhnR0pnTPHb2gsZpQWIbVUKW009jw+1WYwY2cdhdo4he9ikosCrQDFOURUSQTU7G5ZY6a65KwXkq9kdtQJ2CLDfGFAhmwQR5IxZNZ+qwX8z3ktAoGAPCU7XOZsRr6E+UIx17ghjNZ0Y/RwpmxqqOFuVPmpITO47BQIIQVL/gKqUOW649xfdpkTdIXc/eHeD8GEnksopO/O3Qaa8DkAHzQ+vVD0DAWzY1/2wVPARoGuo6qqNPEqRoKLy/TK5aZOO53rbVq+hiT90b6PytE4RWIATYqE2Bs= -mongo: - connect: mongodb://localhost:27017/?w=majority - database: consensus - logCollection: log -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/configs/file1.yml b/etc/configs/file1.yml deleted file mode 100755 index 369578f5..00000000 --- a/etc/configs/file1.yml +++ /dev/null @@ -1,16 +0,0 @@ -account: - peerId: 12D3KooWQxiZ5a7vcy4DTJa8Gy1eVUmwb5ojN4SrJC9Rjxzigw6C - peerKey: X7YT92hRIQf42tNiIlOS01p1uJiPSqcdkE6LViS8PxnhAv/28YzTctqPjm11AC63Dq7ybmwPQiBu1pwa3AxHzQ== - signingKey: X7YT92hRIQf42tNiIlOS01p1uJiPSqcdkE6LViS8PxnhAv/28YzTctqPjm11AC63Dq7ybmwPQiBu1pwa3AxHzQ== - encryptionKey: MIIEpAIBAAKCAQEA5KuB40UIN6LbGaFw1EK7PZ30bkQerMC24hiorv9oUqBPsFXnGuqSd09B9yLWsUGBHn4q2G3ZF2e73+K6Exn/OPp4othDwUPzm0sx75y1D2iy7nNbP4EAqC4n5x3rBaLCvdN9MJEc8TfvkKJAJ8gCAub3RXuf8so5GfYra2WcFjRovjqtpV5dN0onq5Z9gNYMUrzmHNE2PjO4jpAyTh2/zIP3odpt9e14xUjB+Xv3gonX7Scl7njJFXcRMfdriDBkTDlCMPt/hA7Sabif7jXzd3hDIFBiX51SYCSeBpv70+iSNwR1bO4zKagAyI1s5MiBriNdO07CvbI6WK6MzC3NeQIDAQABAoIBAQDS9Xrt3ajYExGJEsxRtoKhNNDkzUlzXJMcAV3VnGF1INqDtqxvw4p+MYuM4QIqI2FobUM/yg+mrRfBU50QtEImIcUbjuLrMLJUSUn3YZ4UaiXxIFFFQ9EEVxiO+qXw3BhHIg5zuNx3mYAU8eq4CKf6X3QuEQAd7/w//EBQYzxdqhsGqRdawnqlRg0GdqsYP6SaGliyQcjIybb8+UA4YbBofECQmubY+ObrAKiE2Y+AxXtO/JMC4hM7r4QV9RYd9O7n5n6cP7eEN0oo6gViHEhCsMktPeawXwXXbvrS4iz/gyYFs4pYTuQxC+UNVusIRNfrHQTQuyXIqioArPgj4TlRAoGBAOUv6ioGsDF89VQFhYPrJdeoGkARRG6fRWVxuVK1Yx/3uCuHp01mjmczowY36w3MdMSZMuiRk3zeVkts3UQwHgUR8jHJT7Ty/cL80K2/n12aI2OK8vnY71idiZPoy7PL0vY2S4klLsBfumrEB9sHCE7G3+0Ai9jfePAUNj+RCHOVAoGBAP9sGiorjyZbFOCaXDemJcI140VUqJ+OFeBsiZZCOvHlgE1tFcy2RpDvs7dwe2gBb/Gkt2hsDbQdEWdSQk5AVcJBnALoWn4eoarEN6TVDxIDhN0Vz63uTYM+rMvgETVFfc8lxvEmcO7G9rxNPSkIUSqVXw3AywYizNAgRb4fRnlVAoGAY2zQ6iByqVVrXGL01BDcHt1nXenfxRnFUkfuvMnB0el2dTPpSXO3TWAiVh1GFHthILTRWAFneWE/EIOOzfkN3Oc3KZAKyxYrLj7dDLM3oLSwq4to8yjAVLIrMAZq8Hn48CUHydxelsgwqAaY3dUELqCqHjgBczknTweFrTfu8a0CgYEAtPSDPOkLS6MvkUgKmSpOid7fmpi1tgRVn1+Fwjw9wm5TjYcA8L0aFUiczBMWesK56jpF7ebPdpE5aTev3fxaRXtx6eVvZvaQlojY2yBOwvZXRMJVFeZEZ/0ZMn8V8eW/kegzn1kanS+8Uf9umwlXZ5HXe8jgjQJOlAypHF7P8NkCgYA0Z1F1kGUSl8DBIaNbOAR9FOKE/cMOubxoFCi/eHQc0wu+jEa53SnD5a8TYpEU3eqAiWsImuqoJA4RsvLZcKKfk2PJl8w+CD65YOJckyNRzUjzSz2S7oUXkUVhzbJ676y2B4Vp+CxYLllg/s5qh4ZMSOBj2quy1NhFbOq5rISddg== -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4730 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -metric: - addr: "" -fileStorePogreb: - path: db/file/1 diff --git a/etc/configs/node1.yml b/etc/configs/node1.yml deleted file mode 100755 index 3fc0de03..00000000 --- a/etc/configs/node1.yml +++ /dev/null @@ -1,72 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4430 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWKnXTtbveMDUFfeSqR5dt9a4JW66tZQXG7C7PdDh3vqGu - peerKey: /Ou28/uU/z3BbGmkHMV5ev0mwl6lJI/NNniFlMm2gOeUHDfed/zbwYZLbPt1B0sujNx0DGKUgUTUXy/SE7biwg== - signingKey: /Ou28/uU/z3BbGmkHMV5ev0mwl6lJI/NNniFlMm2gOeUHDfed/zbwYZLbPt1B0sujNx0DGKUgUTUXy/SE7biwg== - encryptionKey: MIIEpAIBAAKCAQEA23AWlsGaLrUxea+x6rkpy1ByqUJKdb2oS10q0urntUCivsNb7ipo1tvM2rldn6DAIrIC1nQHdlwrakNhl/j9zfX/GdACRDEuy7pVigm78QqYwSoyZn1l717HGjXKpJpa2m9Qyo6ZNGTLcej06zuOK8yUR4gudxSV5BJ2AmMvB9v4jUdCUwROSMy0e/hDa3Cx2xV33iULF/XltoeBVDoW6yYXfsok2yH3jHUV59yqQDbZO+kAj5rO8Fd/DnmGriuQZwAwdqJBH6/NtkhbA6triS/xW7f+RoyjjA3dp7TSUscHTFW0LIUaS0ZKt6amaanT7L/Jwi/0w133wTboYPG7NQIDAQABAoIBAGRYaGv+ElSDlSFRP6nXjI4ltplB8CzRUrFL5HZY5yZSbVmQmmxZxmFiV9Y5Z9/EMbhr8LJCktsEIPJR58IIIX/amxIhtbebSgvtpIogE2qRbvL+KdgGRePlUmTg7k7BKwSyXJ6UAOkdoo7veXhMXqIWxkPDuYPIzRZjfsVut6X+j0e9W2/kK7Tx1cn07GGyEX6T9sYsrDZud9xAgDWeE3ARga+M8l3RpTi3GiM6aaz82byjtn+uROUioUSDRLeOx4lOsmTzwWs4+tcyguqC4h/01Hejs9gDsJTOZ+xsrSc+eTsj1oOmABtHcuQ6NWq4KTqV9gVAB9BEMa39k3SrzaECgYEA9kd71vAwqFp6iu3INXBuwJouV72Egwm936KGcs9/NxfXQ7R6NdKa4LiWxdIn8e7uT6+bGPxCPuUmeJ9pYandb6j6fcBcGAjPOJPg5cTtoaeXSTOBNtzaoDLM191dNkhftXAgVoz6EQXUXaGXqnUEWDCptZ8/VKO4Jbb+Zco3F30CgYEA5BljE1KiWKP3IXwfndnPFKwev8Ds6YMczCFpiCzHB4LVLAWShUQrQIcA12yIRHTvD35Vg7SwH5mM+DFd9AMNxTznz8aC7R+jXEApeaCEQqBEKakoDFMsdblT6WFwerfl5ug32IyeKglfLuOiID5M740t+6TxUR1ZjnhIx3QdMBkCgYBUANn63H6cThBSZvzNTYZZZ72668fRMndzWmplquUHk7g3Pc4ZobZ2REAZRa+eVBMxVwKeKR0net3+ctFtIJWJSqf2ULCY+hhEghxKAzvS0elGbKz8W6Su0+UPFFCA/Xq31oERRJDfUY+4SDAFUlijBCY+7wyZACcFpj9r1OepuQKBgQDAJV6ffWHC98SLkYr0pvFZgbCZaYRpJQiSMKc8jjPO8PhwD/Wgi48/2TntPsD/od1sGMkinIgs5mWpAbUag6QK/cZs8dWCuL8dS/NkQMKJeYZR7ewNjdcLCGZWV72vstBZFk9M/Q+Ta7ehwSHmtXSL60rMC+M4qFezu0HbusWHqQKBgQCNuIsiB1yS1aByY2Hw2NJyAWFIRLuv4VNm+S/+YUJzOb/cuX5rwJ+PydJj0xD5mKKq5zGhCFzGZYdheKCYC4UQKn+Zz6Iv5T/mIJU7ELy9R2/I/Jv/IQMQwDXUokbNU8p25Hxul+rI+INjoHihUFKRNL68iuGVNjQHyKQYjit+mg== -apiServer: - server: - listenAddrs: - - 127.0.0.1:8080 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -nodes: - - peerId: 12D3KooWKnXTtbveMDUFfeSqR5dt9a4JW66tZQXG7C7PdDh3vqGu - address: - - 127.0.0.1:4430 - signingKey: /Ou28/uU/z3BbGmkHMV5ev0mwl6lJI/NNniFlMm2gOeUHDfed/zbwYZLbPt1B0sujNx0DGKUgUTUXy/SE7biwg== - encryptionKey: MIIEpAIBAAKCAQEA23AWlsGaLrUxea+x6rkpy1ByqUJKdb2oS10q0urntUCivsNb7ipo1tvM2rldn6DAIrIC1nQHdlwrakNhl/j9zfX/GdACRDEuy7pVigm78QqYwSoyZn1l717HGjXKpJpa2m9Qyo6ZNGTLcej06zuOK8yUR4gudxSV5BJ2AmMvB9v4jUdCUwROSMy0e/hDa3Cx2xV33iULF/XltoeBVDoW6yYXfsok2yH3jHUV59yqQDbZO+kAj5rO8Fd/DnmGriuQZwAwdqJBH6/NtkhbA6triS/xW7f+RoyjjA3dp7TSUscHTFW0LIUaS0ZKt6amaanT7L/Jwi/0w133wTboYPG7NQIDAQABAoIBAGRYaGv+ElSDlSFRP6nXjI4ltplB8CzRUrFL5HZY5yZSbVmQmmxZxmFiV9Y5Z9/EMbhr8LJCktsEIPJR58IIIX/amxIhtbebSgvtpIogE2qRbvL+KdgGRePlUmTg7k7BKwSyXJ6UAOkdoo7veXhMXqIWxkPDuYPIzRZjfsVut6X+j0e9W2/kK7Tx1cn07GGyEX6T9sYsrDZud9xAgDWeE3ARga+M8l3RpTi3GiM6aaz82byjtn+uROUioUSDRLeOx4lOsmTzwWs4+tcyguqC4h/01Hejs9gDsJTOZ+xsrSc+eTsj1oOmABtHcuQ6NWq4KTqV9gVAB9BEMa39k3SrzaECgYEA9kd71vAwqFp6iu3INXBuwJouV72Egwm936KGcs9/NxfXQ7R6NdKa4LiWxdIn8e7uT6+bGPxCPuUmeJ9pYandb6j6fcBcGAjPOJPg5cTtoaeXSTOBNtzaoDLM191dNkhftXAgVoz6EQXUXaGXqnUEWDCptZ8/VKO4Jbb+Zco3F30CgYEA5BljE1KiWKP3IXwfndnPFKwev8Ds6YMczCFpiCzHB4LVLAWShUQrQIcA12yIRHTvD35Vg7SwH5mM+DFd9AMNxTznz8aC7R+jXEApeaCEQqBEKakoDFMsdblT6WFwerfl5ug32IyeKglfLuOiID5M740t+6TxUR1ZjnhIx3QdMBkCgYBUANn63H6cThBSZvzNTYZZZ72668fRMndzWmplquUHk7g3Pc4ZobZ2REAZRa+eVBMxVwKeKR0net3+ctFtIJWJSqf2ULCY+hhEghxKAzvS0elGbKz8W6Su0+UPFFCA/Xq31oERRJDfUY+4SDAFUlijBCY+7wyZACcFpj9r1OepuQKBgQDAJV6ffWHC98SLkYr0pvFZgbCZaYRpJQiSMKc8jjPO8PhwD/Wgi48/2TntPsD/od1sGMkinIgs5mWpAbUag6QK/cZs8dWCuL8dS/NkQMKJeYZR7ewNjdcLCGZWV72vstBZFk9M/Q+Ta7ehwSHmtXSL60rMC+M4qFezu0HbusWHqQKBgQCNuIsiB1yS1aByY2Hw2NJyAWFIRLuv4VNm+S/+YUJzOb/cuX5rwJ+PydJj0xD5mKKq5zGhCFzGZYdheKCYC4UQKn+Zz6Iv5T/mIJU7ELy9R2/I/Jv/IQMQwDXUokbNU8p25Hxul+rI+INjoHihUFKRNL68iuGVNjQHyKQYjit+mg== - types: - - tree - - peerId: 12D3KooWKgVN2kW8xw5Uvm2sLUnkeUNQYAvcWvF58maTzev7FjPi - address: - - 127.0.0.1:4431 - signingKey: ckI1ThxMQmAWH48so5jT614HNg4VppB/3jTfh1cdrzSSkFuVPiGzSDJcsgFLsRGW2WT0a8ymqtc4hog5Z4mdfQ== - encryptionKey: MIIEpAIBAAKCAQEAwQcHwXkTynIvU5PfTn9kaQEb5Zzz8eHl/uO1srbWI0hM+sIvhOq/ahYuhDlai0mAhRFQIvb6QRnWzCp3qvMH8+j8ls83BKV4hfxuS+SR/Y/LonW+WeLljiloMM5ju9tjw1iSslUK6z7d0HSLppQCCjMP+v3kKjx24qJ2T+2N1MAMbdt+S5c2P2jBUJVSvQbZ1AVuZTEzDau//+cZzV47lsODrVZ2SxW/KAAKA9xIJSIwBFyIqya54FDlrsy4HMcThxUbmcqy0Ou3bRjPR2f9A6QaNDNlolPhW1Z4gs+MTQOXJyAj2vdKwNKPwr8X6wyUtN4v8MiJt2yl4h3EVSVkGQIDAQABAoIBAQCak4iwdMdWfa5MncRb1kSQmiS+8bug3igSwEOHREejpYiP3uWy6VI0IGNL26oYlNnotf6YoXOyooCSqwd9zHV37AIquvHyNJiZo5aoC/ilN3v5M5Ul4j+2Yo5fV0gi7gOsMcf4K4Y88PEst8gFs80WYeHQO3V2JUmHIFbilvfXgDfQNuKlHXgWq5kNNCxIobGpuP70Vvn1ANkDXLt+bU8RCbmBYFUZ/4HUeawf2NX+Xn5T1NFpheA68hAGprFQu6CuEsM34TtPZwH5SxyvOmA218nQbtq5fNLUgHZdq/uAeQyq7E8kxyOMEbx7m1UYtxDjwowBQgQd1dOtm3wTeQdpAoGBANjs7B0IW/B3TY6mRipcKtTYMVJ+M6AKu7etTkcmM6NpLGaIL9HqNP/a8PoNmHzVOBPJlC96ChQAvcULe+SKBL4L5g1T+k7OQvHEFMwzkFgs/HxjvQE9b1xX1Qyp+e9H7yvrcJhvRPbj3LLp7vunHL9dEm4/PFNKgCFExNsiv8WvAoGBAOPMGXtAethDYZE7vdlD55GdhsgklCmF3YQcraWsZrswj9paIBV8FWtVZIUDdaqOasPwT8L2NdajYWXXcmLlvxkOQQx7+cJG4SdLRwEz531rXvtcYrWPYYwjf37DQMi2qRmvZ0Oc/atitwN7mQ4wCMzZ+CV04HJTjK4eRfeDeyy3AoGAFbQWp4z3jeaR1uzh5kkUa/k5bhR8W83XHDh1tX6n+fiC3btQdYMmTFb+dzY3BH5cvvYTInDmYzvzwKw2eBYrBUyxdrHpQEs4vXGt1wRts7TEijl8ZoxcAPQ0t7Cl9f/PeSh0OnwffUgtA6WOKJV+tdK9DlS7V2YDzdBQldAzObcCgYAbjn0mo844iy4qW4fD2KsSunOrkoE55K+/Y5i+CfUDgARm7bAj6TbOHS5jyN9bGo9f1JpRg2dP58PIhh+YRyKu7UKBOB4mmlxyXHDifFzslyiOT8bBH+80/LZXp1cW8MHUEZv0WfF14iMxkKobRURLQ7L5FQJx0hmalp7wKj+kUQKBgQCEavx+ELQu1M22t4Kk1MOI1zEsrG4D+hjACmoWQsIjMqi5x+9vPJNshrO9vbYljjsIt4EOfqBB88oMepCesVHwbX3+/j7Yb48pmf2vZNcQ+SFozJqnCqYNQiWMtNXWT312NVdzkvpTlA0e1vaauwJjtetRnYDJUOPjc8BrdKsftw== - types: - - tree - - peerId: 12D3KooWCUPYuMnQhu9yREJgQyjcz8zWY83rZGmDLwb9YR6QkbZX - address: - - 127.0.0.1:4432 - signingKey: EqD0bdvO2E9+i29hfJTMtae8Zw8Dgnb/KanLSg59K7YndQHdxxvtVUljy3htlXd7dGKfEuJ7EglVHdNxzg5q7g== - encryptionKey: MIIEpAIBAAKCAQEAuOwKfzHLrm94jH4PElKfkB9geQ5OhtdbcS4K3TeyZ5xU0hi0TiXxOiHQOCg2uO7B/fnQcAArUBvPNa4QOvNuWRY+246FHYBxCJvJdfOpwirQbQ2l5iqR13rpSAELnF/zB4XMQa6wGVhsgWipvY9PUrLF6RwpeeBu9OtpVaA2oUiUXyD+v1f4dNXjZqrTKS9IycksGEEI4knEfG421K862BRty94pVWfqv/ZgpJUQZiWLX9CSbAdvjoHxOdm96VhMjTBw3oyv7hTr/zQR9y77OMFwOOBtn4QWXSS54r89inoksgGjH5cProhR+V4QZ4962TGsnc92j+IjtlxI/o3CuQIDAQABAoIBACyLl5+6NBFqAsT9HM5SHuPN2yRuINZ0jC+AYteVMiGpU/lkQBLPKwPQ32KXtU7pHMv8YIyKTeS3Pjv1GS3KNBu7sxqag1Bu/0uOk4IZVxxRyfFrJzqBqK4aipVwwwZBSr7WKTTtSrhgR4sI1lK2ceo+7FPSF9+nA7N1/eLFfENvWegG9cM9G1162f1ypTmTKB6zvyEhrMnpw5IWGiyL41Pbn7Q6qMxJCMedJn40UWwZ+K04StxcX0MdPqiRC1mhEECF23y/Yu3QYVlyAR/Ya6POPK+Y/PQhvYuA8gMbdJgM/BpFntqqJx6nf9ojZjmkpFytHuKojDP+SOYSvifGSzECgYEA85YGa9DNHeEGU7e7U6iReHn0Cy1ZlDl4q/E1tyOSY1tpuTdiIYNLZAmx/ZDLj7y8NcNwK44CWhNGUlsTGOL0wrsFefH6tJOLLklTgwo6gnFFeNKUaTrZMQhu1Rf6fruO6yUHe34EgDnMIclx3+bXpZmWGVVOXLx7e/gQfDiRg3UCgYEAwlimHW2pJshQdCCyIFPvf36FK7xNiTIGy4VW8q8ulX4UESioxQtv8Irf5UCo1WpTSNA8RYRPU4gZnp0jkBydNDU2bdNGiN3IySU99/2dtYEHPJAferwXoOVdSCVXw2fGyQZK6GaciWDP3bgZdVKBSGBCN30eJ2PDVKni2NiHbbUCgYAdPHKE2kjkPy/9OF45ik/7f9e0x7qqucMsEAV8d76IQl6MJoOWtiWEWk2Mu6ZTGDoW0eBSufa6TPnxxJCkOglangvoOQz4Q4U/BvoJDl87bNED0XKStsd+xR5YYUplj6l1u7oMLnHn2ggQPhd24kQb0jVb0QtYwh6oIHwKDNgaSQKBgQCuTYeeuS2ORPYzUOexKtaQSE7z7My1kZKakhprSkbDePJSeV70as+Ys1UfbaB+1/+ePHTx/DqRNm2T3md45tDvdBI+6dBHDHL6RFaRxnrdwL1WygQRtgSTH2NMQ4G1Fawpu2UPjogyhguoVWcv3DFrUjnRPnv+4/DaTAvSZFECSQKBgQDh6g0n+MIknDo89ffCmIuD5qkPi7GYYGBfQ7HHHq5dUXazN6+vKazgGEJo72MU4ZlHl/U33MoMuuVP2cBEYJx8iMaP7ze8jUWVRA7rzg4A2ayBCOQxpBehEBhD1yEBPKO5PVTYV0a3BiM4tQLLPuoh5QcB7ANwmZkFdLpizLqn2A== - types: - - tree - - peerId: 12D3KooWNT4hbNKXeFuDtdQ13ZbhQ1oJJ2AVWgAQVRrCj6Zb5wxk - address: - - 127.0.0.1:4530 - types: - - consensus - - peerId: 12D3KooWNQZjL4H82u9qdjpWFBFjFdZyTqvgXT6dajkJuRn9yE8H - address: - - 127.0.0.1:4531 - types: - - consensus - - peerId: 12D3KooWR5tEHzEqVjQas8PfhsGjWMooTWXsryDUz8HXWYnQhczf - address: - - 127.0.0.1:4532 - types: - - consensus - - peerId: 12D3KooWQxiZ5a7vcy4DTJa8Gy1eVUmwb5ojN4SrJC9Rjxzigw6C - address: - - 127.0.0.1:4730 - types: - - file -space: - gcTTL: 60 - syncPeriod: 20 -storage: - path: db/node/1/data -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/configs/node2.yml b/etc/configs/node2.yml deleted file mode 100755 index 6934923a..00000000 --- a/etc/configs/node2.yml +++ /dev/null @@ -1,72 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4431 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWKgVN2kW8xw5Uvm2sLUnkeUNQYAvcWvF58maTzev7FjPi - peerKey: ckI1ThxMQmAWH48so5jT614HNg4VppB/3jTfh1cdrzSSkFuVPiGzSDJcsgFLsRGW2WT0a8ymqtc4hog5Z4mdfQ== - signingKey: ckI1ThxMQmAWH48so5jT614HNg4VppB/3jTfh1cdrzSSkFuVPiGzSDJcsgFLsRGW2WT0a8ymqtc4hog5Z4mdfQ== - encryptionKey: MIIEpAIBAAKCAQEAwQcHwXkTynIvU5PfTn9kaQEb5Zzz8eHl/uO1srbWI0hM+sIvhOq/ahYuhDlai0mAhRFQIvb6QRnWzCp3qvMH8+j8ls83BKV4hfxuS+SR/Y/LonW+WeLljiloMM5ju9tjw1iSslUK6z7d0HSLppQCCjMP+v3kKjx24qJ2T+2N1MAMbdt+S5c2P2jBUJVSvQbZ1AVuZTEzDau//+cZzV47lsODrVZ2SxW/KAAKA9xIJSIwBFyIqya54FDlrsy4HMcThxUbmcqy0Ou3bRjPR2f9A6QaNDNlolPhW1Z4gs+MTQOXJyAj2vdKwNKPwr8X6wyUtN4v8MiJt2yl4h3EVSVkGQIDAQABAoIBAQCak4iwdMdWfa5MncRb1kSQmiS+8bug3igSwEOHREejpYiP3uWy6VI0IGNL26oYlNnotf6YoXOyooCSqwd9zHV37AIquvHyNJiZo5aoC/ilN3v5M5Ul4j+2Yo5fV0gi7gOsMcf4K4Y88PEst8gFs80WYeHQO3V2JUmHIFbilvfXgDfQNuKlHXgWq5kNNCxIobGpuP70Vvn1ANkDXLt+bU8RCbmBYFUZ/4HUeawf2NX+Xn5T1NFpheA68hAGprFQu6CuEsM34TtPZwH5SxyvOmA218nQbtq5fNLUgHZdq/uAeQyq7E8kxyOMEbx7m1UYtxDjwowBQgQd1dOtm3wTeQdpAoGBANjs7B0IW/B3TY6mRipcKtTYMVJ+M6AKu7etTkcmM6NpLGaIL9HqNP/a8PoNmHzVOBPJlC96ChQAvcULe+SKBL4L5g1T+k7OQvHEFMwzkFgs/HxjvQE9b1xX1Qyp+e9H7yvrcJhvRPbj3LLp7vunHL9dEm4/PFNKgCFExNsiv8WvAoGBAOPMGXtAethDYZE7vdlD55GdhsgklCmF3YQcraWsZrswj9paIBV8FWtVZIUDdaqOasPwT8L2NdajYWXXcmLlvxkOQQx7+cJG4SdLRwEz531rXvtcYrWPYYwjf37DQMi2qRmvZ0Oc/atitwN7mQ4wCMzZ+CV04HJTjK4eRfeDeyy3AoGAFbQWp4z3jeaR1uzh5kkUa/k5bhR8W83XHDh1tX6n+fiC3btQdYMmTFb+dzY3BH5cvvYTInDmYzvzwKw2eBYrBUyxdrHpQEs4vXGt1wRts7TEijl8ZoxcAPQ0t7Cl9f/PeSh0OnwffUgtA6WOKJV+tdK9DlS7V2YDzdBQldAzObcCgYAbjn0mo844iy4qW4fD2KsSunOrkoE55K+/Y5i+CfUDgARm7bAj6TbOHS5jyN9bGo9f1JpRg2dP58PIhh+YRyKu7UKBOB4mmlxyXHDifFzslyiOT8bBH+80/LZXp1cW8MHUEZv0WfF14iMxkKobRURLQ7L5FQJx0hmalp7wKj+kUQKBgQCEavx+ELQu1M22t4Kk1MOI1zEsrG4D+hjACmoWQsIjMqi5x+9vPJNshrO9vbYljjsIt4EOfqBB88oMepCesVHwbX3+/j7Yb48pmf2vZNcQ+SFozJqnCqYNQiWMtNXWT312NVdzkvpTlA0e1vaauwJjtetRnYDJUOPjc8BrdKsftw== -apiServer: - server: - listenAddrs: - - 127.0.0.1:8081 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -nodes: - - peerId: 12D3KooWKnXTtbveMDUFfeSqR5dt9a4JW66tZQXG7C7PdDh3vqGu - address: - - 127.0.0.1:4430 - signingKey: /Ou28/uU/z3BbGmkHMV5ev0mwl6lJI/NNniFlMm2gOeUHDfed/zbwYZLbPt1B0sujNx0DGKUgUTUXy/SE7biwg== - encryptionKey: MIIEpAIBAAKCAQEA23AWlsGaLrUxea+x6rkpy1ByqUJKdb2oS10q0urntUCivsNb7ipo1tvM2rldn6DAIrIC1nQHdlwrakNhl/j9zfX/GdACRDEuy7pVigm78QqYwSoyZn1l717HGjXKpJpa2m9Qyo6ZNGTLcej06zuOK8yUR4gudxSV5BJ2AmMvB9v4jUdCUwROSMy0e/hDa3Cx2xV33iULF/XltoeBVDoW6yYXfsok2yH3jHUV59yqQDbZO+kAj5rO8Fd/DnmGriuQZwAwdqJBH6/NtkhbA6triS/xW7f+RoyjjA3dp7TSUscHTFW0LIUaS0ZKt6amaanT7L/Jwi/0w133wTboYPG7NQIDAQABAoIBAGRYaGv+ElSDlSFRP6nXjI4ltplB8CzRUrFL5HZY5yZSbVmQmmxZxmFiV9Y5Z9/EMbhr8LJCktsEIPJR58IIIX/amxIhtbebSgvtpIogE2qRbvL+KdgGRePlUmTg7k7BKwSyXJ6UAOkdoo7veXhMXqIWxkPDuYPIzRZjfsVut6X+j0e9W2/kK7Tx1cn07GGyEX6T9sYsrDZud9xAgDWeE3ARga+M8l3RpTi3GiM6aaz82byjtn+uROUioUSDRLeOx4lOsmTzwWs4+tcyguqC4h/01Hejs9gDsJTOZ+xsrSc+eTsj1oOmABtHcuQ6NWq4KTqV9gVAB9BEMa39k3SrzaECgYEA9kd71vAwqFp6iu3INXBuwJouV72Egwm936KGcs9/NxfXQ7R6NdKa4LiWxdIn8e7uT6+bGPxCPuUmeJ9pYandb6j6fcBcGAjPOJPg5cTtoaeXSTOBNtzaoDLM191dNkhftXAgVoz6EQXUXaGXqnUEWDCptZ8/VKO4Jbb+Zco3F30CgYEA5BljE1KiWKP3IXwfndnPFKwev8Ds6YMczCFpiCzHB4LVLAWShUQrQIcA12yIRHTvD35Vg7SwH5mM+DFd9AMNxTznz8aC7R+jXEApeaCEQqBEKakoDFMsdblT6WFwerfl5ug32IyeKglfLuOiID5M740t+6TxUR1ZjnhIx3QdMBkCgYBUANn63H6cThBSZvzNTYZZZ72668fRMndzWmplquUHk7g3Pc4ZobZ2REAZRa+eVBMxVwKeKR0net3+ctFtIJWJSqf2ULCY+hhEghxKAzvS0elGbKz8W6Su0+UPFFCA/Xq31oERRJDfUY+4SDAFUlijBCY+7wyZACcFpj9r1OepuQKBgQDAJV6ffWHC98SLkYr0pvFZgbCZaYRpJQiSMKc8jjPO8PhwD/Wgi48/2TntPsD/od1sGMkinIgs5mWpAbUag6QK/cZs8dWCuL8dS/NkQMKJeYZR7ewNjdcLCGZWV72vstBZFk9M/Q+Ta7ehwSHmtXSL60rMC+M4qFezu0HbusWHqQKBgQCNuIsiB1yS1aByY2Hw2NJyAWFIRLuv4VNm+S/+YUJzOb/cuX5rwJ+PydJj0xD5mKKq5zGhCFzGZYdheKCYC4UQKn+Zz6Iv5T/mIJU7ELy9R2/I/Jv/IQMQwDXUokbNU8p25Hxul+rI+INjoHihUFKRNL68iuGVNjQHyKQYjit+mg== - types: - - tree - - peerId: 12D3KooWKgVN2kW8xw5Uvm2sLUnkeUNQYAvcWvF58maTzev7FjPi - address: - - 127.0.0.1:4431 - signingKey: ckI1ThxMQmAWH48so5jT614HNg4VppB/3jTfh1cdrzSSkFuVPiGzSDJcsgFLsRGW2WT0a8ymqtc4hog5Z4mdfQ== - encryptionKey: MIIEpAIBAAKCAQEAwQcHwXkTynIvU5PfTn9kaQEb5Zzz8eHl/uO1srbWI0hM+sIvhOq/ahYuhDlai0mAhRFQIvb6QRnWzCp3qvMH8+j8ls83BKV4hfxuS+SR/Y/LonW+WeLljiloMM5ju9tjw1iSslUK6z7d0HSLppQCCjMP+v3kKjx24qJ2T+2N1MAMbdt+S5c2P2jBUJVSvQbZ1AVuZTEzDau//+cZzV47lsODrVZ2SxW/KAAKA9xIJSIwBFyIqya54FDlrsy4HMcThxUbmcqy0Ou3bRjPR2f9A6QaNDNlolPhW1Z4gs+MTQOXJyAj2vdKwNKPwr8X6wyUtN4v8MiJt2yl4h3EVSVkGQIDAQABAoIBAQCak4iwdMdWfa5MncRb1kSQmiS+8bug3igSwEOHREejpYiP3uWy6VI0IGNL26oYlNnotf6YoXOyooCSqwd9zHV37AIquvHyNJiZo5aoC/ilN3v5M5Ul4j+2Yo5fV0gi7gOsMcf4K4Y88PEst8gFs80WYeHQO3V2JUmHIFbilvfXgDfQNuKlHXgWq5kNNCxIobGpuP70Vvn1ANkDXLt+bU8RCbmBYFUZ/4HUeawf2NX+Xn5T1NFpheA68hAGprFQu6CuEsM34TtPZwH5SxyvOmA218nQbtq5fNLUgHZdq/uAeQyq7E8kxyOMEbx7m1UYtxDjwowBQgQd1dOtm3wTeQdpAoGBANjs7B0IW/B3TY6mRipcKtTYMVJ+M6AKu7etTkcmM6NpLGaIL9HqNP/a8PoNmHzVOBPJlC96ChQAvcULe+SKBL4L5g1T+k7OQvHEFMwzkFgs/HxjvQE9b1xX1Qyp+e9H7yvrcJhvRPbj3LLp7vunHL9dEm4/PFNKgCFExNsiv8WvAoGBAOPMGXtAethDYZE7vdlD55GdhsgklCmF3YQcraWsZrswj9paIBV8FWtVZIUDdaqOasPwT8L2NdajYWXXcmLlvxkOQQx7+cJG4SdLRwEz531rXvtcYrWPYYwjf37DQMi2qRmvZ0Oc/atitwN7mQ4wCMzZ+CV04HJTjK4eRfeDeyy3AoGAFbQWp4z3jeaR1uzh5kkUa/k5bhR8W83XHDh1tX6n+fiC3btQdYMmTFb+dzY3BH5cvvYTInDmYzvzwKw2eBYrBUyxdrHpQEs4vXGt1wRts7TEijl8ZoxcAPQ0t7Cl9f/PeSh0OnwffUgtA6WOKJV+tdK9DlS7V2YDzdBQldAzObcCgYAbjn0mo844iy4qW4fD2KsSunOrkoE55K+/Y5i+CfUDgARm7bAj6TbOHS5jyN9bGo9f1JpRg2dP58PIhh+YRyKu7UKBOB4mmlxyXHDifFzslyiOT8bBH+80/LZXp1cW8MHUEZv0WfF14iMxkKobRURLQ7L5FQJx0hmalp7wKj+kUQKBgQCEavx+ELQu1M22t4Kk1MOI1zEsrG4D+hjACmoWQsIjMqi5x+9vPJNshrO9vbYljjsIt4EOfqBB88oMepCesVHwbX3+/j7Yb48pmf2vZNcQ+SFozJqnCqYNQiWMtNXWT312NVdzkvpTlA0e1vaauwJjtetRnYDJUOPjc8BrdKsftw== - types: - - tree - - peerId: 12D3KooWCUPYuMnQhu9yREJgQyjcz8zWY83rZGmDLwb9YR6QkbZX - address: - - 127.0.0.1:4432 - signingKey: EqD0bdvO2E9+i29hfJTMtae8Zw8Dgnb/KanLSg59K7YndQHdxxvtVUljy3htlXd7dGKfEuJ7EglVHdNxzg5q7g== - encryptionKey: MIIEpAIBAAKCAQEAuOwKfzHLrm94jH4PElKfkB9geQ5OhtdbcS4K3TeyZ5xU0hi0TiXxOiHQOCg2uO7B/fnQcAArUBvPNa4QOvNuWRY+246FHYBxCJvJdfOpwirQbQ2l5iqR13rpSAELnF/zB4XMQa6wGVhsgWipvY9PUrLF6RwpeeBu9OtpVaA2oUiUXyD+v1f4dNXjZqrTKS9IycksGEEI4knEfG421K862BRty94pVWfqv/ZgpJUQZiWLX9CSbAdvjoHxOdm96VhMjTBw3oyv7hTr/zQR9y77OMFwOOBtn4QWXSS54r89inoksgGjH5cProhR+V4QZ4962TGsnc92j+IjtlxI/o3CuQIDAQABAoIBACyLl5+6NBFqAsT9HM5SHuPN2yRuINZ0jC+AYteVMiGpU/lkQBLPKwPQ32KXtU7pHMv8YIyKTeS3Pjv1GS3KNBu7sxqag1Bu/0uOk4IZVxxRyfFrJzqBqK4aipVwwwZBSr7WKTTtSrhgR4sI1lK2ceo+7FPSF9+nA7N1/eLFfENvWegG9cM9G1162f1ypTmTKB6zvyEhrMnpw5IWGiyL41Pbn7Q6qMxJCMedJn40UWwZ+K04StxcX0MdPqiRC1mhEECF23y/Yu3QYVlyAR/Ya6POPK+Y/PQhvYuA8gMbdJgM/BpFntqqJx6nf9ojZjmkpFytHuKojDP+SOYSvifGSzECgYEA85YGa9DNHeEGU7e7U6iReHn0Cy1ZlDl4q/E1tyOSY1tpuTdiIYNLZAmx/ZDLj7y8NcNwK44CWhNGUlsTGOL0wrsFefH6tJOLLklTgwo6gnFFeNKUaTrZMQhu1Rf6fruO6yUHe34EgDnMIclx3+bXpZmWGVVOXLx7e/gQfDiRg3UCgYEAwlimHW2pJshQdCCyIFPvf36FK7xNiTIGy4VW8q8ulX4UESioxQtv8Irf5UCo1WpTSNA8RYRPU4gZnp0jkBydNDU2bdNGiN3IySU99/2dtYEHPJAferwXoOVdSCVXw2fGyQZK6GaciWDP3bgZdVKBSGBCN30eJ2PDVKni2NiHbbUCgYAdPHKE2kjkPy/9OF45ik/7f9e0x7qqucMsEAV8d76IQl6MJoOWtiWEWk2Mu6ZTGDoW0eBSufa6TPnxxJCkOglangvoOQz4Q4U/BvoJDl87bNED0XKStsd+xR5YYUplj6l1u7oMLnHn2ggQPhd24kQb0jVb0QtYwh6oIHwKDNgaSQKBgQCuTYeeuS2ORPYzUOexKtaQSE7z7My1kZKakhprSkbDePJSeV70as+Ys1UfbaB+1/+ePHTx/DqRNm2T3md45tDvdBI+6dBHDHL6RFaRxnrdwL1WygQRtgSTH2NMQ4G1Fawpu2UPjogyhguoVWcv3DFrUjnRPnv+4/DaTAvSZFECSQKBgQDh6g0n+MIknDo89ffCmIuD5qkPi7GYYGBfQ7HHHq5dUXazN6+vKazgGEJo72MU4ZlHl/U33MoMuuVP2cBEYJx8iMaP7ze8jUWVRA7rzg4A2ayBCOQxpBehEBhD1yEBPKO5PVTYV0a3BiM4tQLLPuoh5QcB7ANwmZkFdLpizLqn2A== - types: - - tree - - peerId: 12D3KooWNT4hbNKXeFuDtdQ13ZbhQ1oJJ2AVWgAQVRrCj6Zb5wxk - address: - - 127.0.0.1:4530 - types: - - consensus - - peerId: 12D3KooWNQZjL4H82u9qdjpWFBFjFdZyTqvgXT6dajkJuRn9yE8H - address: - - 127.0.0.1:4531 - types: - - consensus - - peerId: 12D3KooWR5tEHzEqVjQas8PfhsGjWMooTWXsryDUz8HXWYnQhczf - address: - - 127.0.0.1:4532 - types: - - consensus - - peerId: 12D3KooWQxiZ5a7vcy4DTJa8Gy1eVUmwb5ojN4SrJC9Rjxzigw6C - address: - - 127.0.0.1:4730 - types: - - file -space: - gcTTL: 60 - syncPeriod: 20 -storage: - path: db/node/2/data -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/configs/node3.yml b/etc/configs/node3.yml deleted file mode 100755 index 029192f1..00000000 --- a/etc/configs/node3.yml +++ /dev/null @@ -1,72 +0,0 @@ -grpcServer: - server: - listenAddrs: - - 127.0.0.1:4432 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -account: - peerId: 12D3KooWCUPYuMnQhu9yREJgQyjcz8zWY83rZGmDLwb9YR6QkbZX - peerKey: EqD0bdvO2E9+i29hfJTMtae8Zw8Dgnb/KanLSg59K7YndQHdxxvtVUljy3htlXd7dGKfEuJ7EglVHdNxzg5q7g== - signingKey: EqD0bdvO2E9+i29hfJTMtae8Zw8Dgnb/KanLSg59K7YndQHdxxvtVUljy3htlXd7dGKfEuJ7EglVHdNxzg5q7g== - encryptionKey: MIIEpAIBAAKCAQEAuOwKfzHLrm94jH4PElKfkB9geQ5OhtdbcS4K3TeyZ5xU0hi0TiXxOiHQOCg2uO7B/fnQcAArUBvPNa4QOvNuWRY+246FHYBxCJvJdfOpwirQbQ2l5iqR13rpSAELnF/zB4XMQa6wGVhsgWipvY9PUrLF6RwpeeBu9OtpVaA2oUiUXyD+v1f4dNXjZqrTKS9IycksGEEI4knEfG421K862BRty94pVWfqv/ZgpJUQZiWLX9CSbAdvjoHxOdm96VhMjTBw3oyv7hTr/zQR9y77OMFwOOBtn4QWXSS54r89inoksgGjH5cProhR+V4QZ4962TGsnc92j+IjtlxI/o3CuQIDAQABAoIBACyLl5+6NBFqAsT9HM5SHuPN2yRuINZ0jC+AYteVMiGpU/lkQBLPKwPQ32KXtU7pHMv8YIyKTeS3Pjv1GS3KNBu7sxqag1Bu/0uOk4IZVxxRyfFrJzqBqK4aipVwwwZBSr7WKTTtSrhgR4sI1lK2ceo+7FPSF9+nA7N1/eLFfENvWegG9cM9G1162f1ypTmTKB6zvyEhrMnpw5IWGiyL41Pbn7Q6qMxJCMedJn40UWwZ+K04StxcX0MdPqiRC1mhEECF23y/Yu3QYVlyAR/Ya6POPK+Y/PQhvYuA8gMbdJgM/BpFntqqJx6nf9ojZjmkpFytHuKojDP+SOYSvifGSzECgYEA85YGa9DNHeEGU7e7U6iReHn0Cy1ZlDl4q/E1tyOSY1tpuTdiIYNLZAmx/ZDLj7y8NcNwK44CWhNGUlsTGOL0wrsFefH6tJOLLklTgwo6gnFFeNKUaTrZMQhu1Rf6fruO6yUHe34EgDnMIclx3+bXpZmWGVVOXLx7e/gQfDiRg3UCgYEAwlimHW2pJshQdCCyIFPvf36FK7xNiTIGy4VW8q8ulX4UESioxQtv8Irf5UCo1WpTSNA8RYRPU4gZnp0jkBydNDU2bdNGiN3IySU99/2dtYEHPJAferwXoOVdSCVXw2fGyQZK6GaciWDP3bgZdVKBSGBCN30eJ2PDVKni2NiHbbUCgYAdPHKE2kjkPy/9OF45ik/7f9e0x7qqucMsEAV8d76IQl6MJoOWtiWEWk2Mu6ZTGDoW0eBSufa6TPnxxJCkOglangvoOQz4Q4U/BvoJDl87bNED0XKStsd+xR5YYUplj6l1u7oMLnHn2ggQPhd24kQb0jVb0QtYwh6oIHwKDNgaSQKBgQCuTYeeuS2ORPYzUOexKtaQSE7z7My1kZKakhprSkbDePJSeV70as+Ys1UfbaB+1/+ePHTx/DqRNm2T3md45tDvdBI+6dBHDHL6RFaRxnrdwL1WygQRtgSTH2NMQ4G1Fawpu2UPjogyhguoVWcv3DFrUjnRPnv+4/DaTAvSZFECSQKBgQDh6g0n+MIknDo89ffCmIuD5qkPi7GYYGBfQ7HHHq5dUXazN6+vKazgGEJo72MU4ZlHl/U33MoMuuVP2cBEYJx8iMaP7ze8jUWVRA7rzg4A2ayBCOQxpBehEBhD1yEBPKO5PVTYV0a3BiM4tQLLPuoh5QcB7ANwmZkFdLpizLqn2A== -apiServer: - server: - listenAddrs: - - 127.0.0.1:8082 - stream: - timeoutMilliseconds: 1000 - maxMsgSizeMb: 256 -nodes: - - peerId: 12D3KooWKnXTtbveMDUFfeSqR5dt9a4JW66tZQXG7C7PdDh3vqGu - address: - - 127.0.0.1:4430 - signingKey: /Ou28/uU/z3BbGmkHMV5ev0mwl6lJI/NNniFlMm2gOeUHDfed/zbwYZLbPt1B0sujNx0DGKUgUTUXy/SE7biwg== - encryptionKey: MIIEpAIBAAKCAQEA23AWlsGaLrUxea+x6rkpy1ByqUJKdb2oS10q0urntUCivsNb7ipo1tvM2rldn6DAIrIC1nQHdlwrakNhl/j9zfX/GdACRDEuy7pVigm78QqYwSoyZn1l717HGjXKpJpa2m9Qyo6ZNGTLcej06zuOK8yUR4gudxSV5BJ2AmMvB9v4jUdCUwROSMy0e/hDa3Cx2xV33iULF/XltoeBVDoW6yYXfsok2yH3jHUV59yqQDbZO+kAj5rO8Fd/DnmGriuQZwAwdqJBH6/NtkhbA6triS/xW7f+RoyjjA3dp7TSUscHTFW0LIUaS0ZKt6amaanT7L/Jwi/0w133wTboYPG7NQIDAQABAoIBAGRYaGv+ElSDlSFRP6nXjI4ltplB8CzRUrFL5HZY5yZSbVmQmmxZxmFiV9Y5Z9/EMbhr8LJCktsEIPJR58IIIX/amxIhtbebSgvtpIogE2qRbvL+KdgGRePlUmTg7k7BKwSyXJ6UAOkdoo7veXhMXqIWxkPDuYPIzRZjfsVut6X+j0e9W2/kK7Tx1cn07GGyEX6T9sYsrDZud9xAgDWeE3ARga+M8l3RpTi3GiM6aaz82byjtn+uROUioUSDRLeOx4lOsmTzwWs4+tcyguqC4h/01Hejs9gDsJTOZ+xsrSc+eTsj1oOmABtHcuQ6NWq4KTqV9gVAB9BEMa39k3SrzaECgYEA9kd71vAwqFp6iu3INXBuwJouV72Egwm936KGcs9/NxfXQ7R6NdKa4LiWxdIn8e7uT6+bGPxCPuUmeJ9pYandb6j6fcBcGAjPOJPg5cTtoaeXSTOBNtzaoDLM191dNkhftXAgVoz6EQXUXaGXqnUEWDCptZ8/VKO4Jbb+Zco3F30CgYEA5BljE1KiWKP3IXwfndnPFKwev8Ds6YMczCFpiCzHB4LVLAWShUQrQIcA12yIRHTvD35Vg7SwH5mM+DFd9AMNxTznz8aC7R+jXEApeaCEQqBEKakoDFMsdblT6WFwerfl5ug32IyeKglfLuOiID5M740t+6TxUR1ZjnhIx3QdMBkCgYBUANn63H6cThBSZvzNTYZZZ72668fRMndzWmplquUHk7g3Pc4ZobZ2REAZRa+eVBMxVwKeKR0net3+ctFtIJWJSqf2ULCY+hhEghxKAzvS0elGbKz8W6Su0+UPFFCA/Xq31oERRJDfUY+4SDAFUlijBCY+7wyZACcFpj9r1OepuQKBgQDAJV6ffWHC98SLkYr0pvFZgbCZaYRpJQiSMKc8jjPO8PhwD/Wgi48/2TntPsD/od1sGMkinIgs5mWpAbUag6QK/cZs8dWCuL8dS/NkQMKJeYZR7ewNjdcLCGZWV72vstBZFk9M/Q+Ta7ehwSHmtXSL60rMC+M4qFezu0HbusWHqQKBgQCNuIsiB1yS1aByY2Hw2NJyAWFIRLuv4VNm+S/+YUJzOb/cuX5rwJ+PydJj0xD5mKKq5zGhCFzGZYdheKCYC4UQKn+Zz6Iv5T/mIJU7ELy9R2/I/Jv/IQMQwDXUokbNU8p25Hxul+rI+INjoHihUFKRNL68iuGVNjQHyKQYjit+mg== - types: - - tree - - peerId: 12D3KooWKgVN2kW8xw5Uvm2sLUnkeUNQYAvcWvF58maTzev7FjPi - address: - - 127.0.0.1:4431 - signingKey: ckI1ThxMQmAWH48so5jT614HNg4VppB/3jTfh1cdrzSSkFuVPiGzSDJcsgFLsRGW2WT0a8ymqtc4hog5Z4mdfQ== - encryptionKey: MIIEpAIBAAKCAQEAwQcHwXkTynIvU5PfTn9kaQEb5Zzz8eHl/uO1srbWI0hM+sIvhOq/ahYuhDlai0mAhRFQIvb6QRnWzCp3qvMH8+j8ls83BKV4hfxuS+SR/Y/LonW+WeLljiloMM5ju9tjw1iSslUK6z7d0HSLppQCCjMP+v3kKjx24qJ2T+2N1MAMbdt+S5c2P2jBUJVSvQbZ1AVuZTEzDau//+cZzV47lsODrVZ2SxW/KAAKA9xIJSIwBFyIqya54FDlrsy4HMcThxUbmcqy0Ou3bRjPR2f9A6QaNDNlolPhW1Z4gs+MTQOXJyAj2vdKwNKPwr8X6wyUtN4v8MiJt2yl4h3EVSVkGQIDAQABAoIBAQCak4iwdMdWfa5MncRb1kSQmiS+8bug3igSwEOHREejpYiP3uWy6VI0IGNL26oYlNnotf6YoXOyooCSqwd9zHV37AIquvHyNJiZo5aoC/ilN3v5M5Ul4j+2Yo5fV0gi7gOsMcf4K4Y88PEst8gFs80WYeHQO3V2JUmHIFbilvfXgDfQNuKlHXgWq5kNNCxIobGpuP70Vvn1ANkDXLt+bU8RCbmBYFUZ/4HUeawf2NX+Xn5T1NFpheA68hAGprFQu6CuEsM34TtPZwH5SxyvOmA218nQbtq5fNLUgHZdq/uAeQyq7E8kxyOMEbx7m1UYtxDjwowBQgQd1dOtm3wTeQdpAoGBANjs7B0IW/B3TY6mRipcKtTYMVJ+M6AKu7etTkcmM6NpLGaIL9HqNP/a8PoNmHzVOBPJlC96ChQAvcULe+SKBL4L5g1T+k7OQvHEFMwzkFgs/HxjvQE9b1xX1Qyp+e9H7yvrcJhvRPbj3LLp7vunHL9dEm4/PFNKgCFExNsiv8WvAoGBAOPMGXtAethDYZE7vdlD55GdhsgklCmF3YQcraWsZrswj9paIBV8FWtVZIUDdaqOasPwT8L2NdajYWXXcmLlvxkOQQx7+cJG4SdLRwEz531rXvtcYrWPYYwjf37DQMi2qRmvZ0Oc/atitwN7mQ4wCMzZ+CV04HJTjK4eRfeDeyy3AoGAFbQWp4z3jeaR1uzh5kkUa/k5bhR8W83XHDh1tX6n+fiC3btQdYMmTFb+dzY3BH5cvvYTInDmYzvzwKw2eBYrBUyxdrHpQEs4vXGt1wRts7TEijl8ZoxcAPQ0t7Cl9f/PeSh0OnwffUgtA6WOKJV+tdK9DlS7V2YDzdBQldAzObcCgYAbjn0mo844iy4qW4fD2KsSunOrkoE55K+/Y5i+CfUDgARm7bAj6TbOHS5jyN9bGo9f1JpRg2dP58PIhh+YRyKu7UKBOB4mmlxyXHDifFzslyiOT8bBH+80/LZXp1cW8MHUEZv0WfF14iMxkKobRURLQ7L5FQJx0hmalp7wKj+kUQKBgQCEavx+ELQu1M22t4Kk1MOI1zEsrG4D+hjACmoWQsIjMqi5x+9vPJNshrO9vbYljjsIt4EOfqBB88oMepCesVHwbX3+/j7Yb48pmf2vZNcQ+SFozJqnCqYNQiWMtNXWT312NVdzkvpTlA0e1vaauwJjtetRnYDJUOPjc8BrdKsftw== - types: - - tree - - peerId: 12D3KooWCUPYuMnQhu9yREJgQyjcz8zWY83rZGmDLwb9YR6QkbZX - address: - - 127.0.0.1:4432 - signingKey: EqD0bdvO2E9+i29hfJTMtae8Zw8Dgnb/KanLSg59K7YndQHdxxvtVUljy3htlXd7dGKfEuJ7EglVHdNxzg5q7g== - encryptionKey: MIIEpAIBAAKCAQEAuOwKfzHLrm94jH4PElKfkB9geQ5OhtdbcS4K3TeyZ5xU0hi0TiXxOiHQOCg2uO7B/fnQcAArUBvPNa4QOvNuWRY+246FHYBxCJvJdfOpwirQbQ2l5iqR13rpSAELnF/zB4XMQa6wGVhsgWipvY9PUrLF6RwpeeBu9OtpVaA2oUiUXyD+v1f4dNXjZqrTKS9IycksGEEI4knEfG421K862BRty94pVWfqv/ZgpJUQZiWLX9CSbAdvjoHxOdm96VhMjTBw3oyv7hTr/zQR9y77OMFwOOBtn4QWXSS54r89inoksgGjH5cProhR+V4QZ4962TGsnc92j+IjtlxI/o3CuQIDAQABAoIBACyLl5+6NBFqAsT9HM5SHuPN2yRuINZ0jC+AYteVMiGpU/lkQBLPKwPQ32KXtU7pHMv8YIyKTeS3Pjv1GS3KNBu7sxqag1Bu/0uOk4IZVxxRyfFrJzqBqK4aipVwwwZBSr7WKTTtSrhgR4sI1lK2ceo+7FPSF9+nA7N1/eLFfENvWegG9cM9G1162f1ypTmTKB6zvyEhrMnpw5IWGiyL41Pbn7Q6qMxJCMedJn40UWwZ+K04StxcX0MdPqiRC1mhEECF23y/Yu3QYVlyAR/Ya6POPK+Y/PQhvYuA8gMbdJgM/BpFntqqJx6nf9ojZjmkpFytHuKojDP+SOYSvifGSzECgYEA85YGa9DNHeEGU7e7U6iReHn0Cy1ZlDl4q/E1tyOSY1tpuTdiIYNLZAmx/ZDLj7y8NcNwK44CWhNGUlsTGOL0wrsFefH6tJOLLklTgwo6gnFFeNKUaTrZMQhu1Rf6fruO6yUHe34EgDnMIclx3+bXpZmWGVVOXLx7e/gQfDiRg3UCgYEAwlimHW2pJshQdCCyIFPvf36FK7xNiTIGy4VW8q8ulX4UESioxQtv8Irf5UCo1WpTSNA8RYRPU4gZnp0jkBydNDU2bdNGiN3IySU99/2dtYEHPJAferwXoOVdSCVXw2fGyQZK6GaciWDP3bgZdVKBSGBCN30eJ2PDVKni2NiHbbUCgYAdPHKE2kjkPy/9OF45ik/7f9e0x7qqucMsEAV8d76IQl6MJoOWtiWEWk2Mu6ZTGDoW0eBSufa6TPnxxJCkOglangvoOQz4Q4U/BvoJDl87bNED0XKStsd+xR5YYUplj6l1u7oMLnHn2ggQPhd24kQb0jVb0QtYwh6oIHwKDNgaSQKBgQCuTYeeuS2ORPYzUOexKtaQSE7z7My1kZKakhprSkbDePJSeV70as+Ys1UfbaB+1/+ePHTx/DqRNm2T3md45tDvdBI+6dBHDHL6RFaRxnrdwL1WygQRtgSTH2NMQ4G1Fawpu2UPjogyhguoVWcv3DFrUjnRPnv+4/DaTAvSZFECSQKBgQDh6g0n+MIknDo89ffCmIuD5qkPi7GYYGBfQ7HHHq5dUXazN6+vKazgGEJo72MU4ZlHl/U33MoMuuVP2cBEYJx8iMaP7ze8jUWVRA7rzg4A2ayBCOQxpBehEBhD1yEBPKO5PVTYV0a3BiM4tQLLPuoh5QcB7ANwmZkFdLpizLqn2A== - types: - - tree - - peerId: 12D3KooWNT4hbNKXeFuDtdQ13ZbhQ1oJJ2AVWgAQVRrCj6Zb5wxk - address: - - 127.0.0.1:4530 - types: - - consensus - - peerId: 12D3KooWNQZjL4H82u9qdjpWFBFjFdZyTqvgXT6dajkJuRn9yE8H - address: - - 127.0.0.1:4531 - types: - - consensus - - peerId: 12D3KooWR5tEHzEqVjQas8PfhsGjWMooTWXsryDUz8HXWYnQhczf - address: - - 127.0.0.1:4532 - types: - - consensus - - peerId: 12D3KooWQxiZ5a7vcy4DTJa8Gy1eVUmwb5ojN4SrJC9Rjxzigw6C - address: - - 127.0.0.1:4730 - types: - - file -space: - gcTTL: 60 - syncPeriod: 20 -storage: - path: db/node/3/data -metric: - addr: "" -log: - production: false - defaultLevel: "" - namedLevels: {} diff --git a/etc/consensus-node.yml b/etc/consensus-node.yml deleted file mode 100644 index 041c1c14..00000000 --- a/etc/consensus-node.yml +++ /dev/null @@ -1,11 +0,0 @@ -rpcServer: - listenAddrs: - - 127.0.0.1:4530 -account: - peerId: 12D3KooWSUx2LXPvoZGp72Dt7b7r1kPSmQ6zAUwKkHFyX64uiXRu - signingKey: 4QTrtkFLQe9wQcWT/cgFEwfMHB5pt4axInNmCIMCZaz3nVdyygRoO8/YH0V15X6Mnw1NQWsS1YIWiLS22hwepA== - encryptionKey: MIIEpAIBAAKCAQEAmqAAOPfR86po3m+zwSzbAlZGgMMF188v35Ulqf9Gb4KO8DZ9ifxrqpjlLZRxPKeXj3wSSQEXsJf3A82rZlDxddZSM0i7Mx5G2G0zRHWx9dC58PpX6o/fDuvSwcyXqOgIK55N/hyEuIbWQgp5Rk9uy2Zbrhv5ZL5CvceM0b9wSKt/hRvntxSbG+HRgXWaQvAReGuJrySVvkh6fhC3G0IwqyFbGNq2zqAJej6NBzZA3thHgTn5PoWD8O4cyukBxunKGu3HLE3vJtqEMFrkNFw5SMpdEtxyTLN6T1HIeYCY9RL+BFYfxIWg6pGtIoIJKUB0XapJr9ltzvXfT9KeSCU0VwIDAQABAoIBAAp/xsQXf7gN4CUKbKg3RX+5H/xqQaFPvi5uUCpk3QGBWfdRm+CctSrWSul3ZOD7eD0T7aHrYxJonysw8ex2no6jyN0WmS91ZNYZRBvn6feI/rcwKHwS3NCEjsD+BWZAqx1bGGyivxhQf4fociemCR3ii2MdHygKCzobrKIpX5RvhanI4j01dyLlxwqTsteuc/o5RR4jfg1eN0kldFjk3UcSNyzzEv5o5UhRsHCLJBTNTvYZBN4FpyaqcLT9gKS9aVBvQH63R+E5dyxo1+24tZZricW59h2bN3CFriqkwBo1y0gTnR6VQ22MBvIUxYUm82cxXs/Vr0YQTSAaEGThxFECgYEAxKQMRnM39WMzrNx1WDwpBERRj1T0TbLf1uq6viPiLdik2Tm2aCBZyr5j82Ey7fZ7OafKGfsM0I2AuYeoBdYDuYN6A7tE9kpnECubnWuIvUeYcL+1VzzMedVtdKwQXrYbhqKtyvnSJ9gQ6CusHtsDE1bQvTMxBX4KNBeBYllCUasCgYEAyU0RPUaj56CyLHKty8jNg6wl+06IZ0pUPIWZ//b1zeZrlHGYDp/InxS8huGFapzOg1sbQBS6j3j3YE3Ts6v6FNuIa4pcPQ91YuHiWWQdgVjrCZdleanFWGTjIx12+RGj9vx4voRhNQcHW1YeTvvyj4BN/ECR6GNaoS/ZjBKo1AUCgYEAj6AyxxJJARagG9Y6b2QhoVg1Kjem6UmJbPStyUt0XIAsh+07afqXGxrM7mtEQ8MQZiBD4Y4Y4gs4xkprUzfqKIn7iNYznKDjflAbrXNpwLaWhWPBFCL4RtS4ycsTedoRaNlRjzvBYBDU6H9djHvzVyDF/itx1s0krr+sZSVE51kCgYBxGRinecna+KFCccgNp6s34H+Se2QNzGgZfOKyOjmOTniA9XV+Oe3I2yi1C34fESzCBm0ACuVqeIdcFz3rQ6OFFnbGHP2H3OiR/uFiYepl4uRjBimgOm9DI6Ot9f8DHxMlUGIygEPxPBq5CWCL9egpEeg+4rRXgYLI7w5mMZGjVQKBgQDC4qyH7FK3lLv5JomoK6nNjpyPNBmr0Rt215oM/AWQaxDhFZH5un68ueZ7MfybwXxHHFQ4ZeSwYs006f1XGPNW6qrH6pi/3SCLFuGVfNnLVwCBkm3QaQrxFm3v9LmVCidTNta0l0DrUldZdK8/P31GBxKo/MmYF/f9LO/Mfm/uDg== -mongo: - connect: "mongodb://localhost:27017/?w=majority" - database: "consensus" - collection: "log" \ No newline at end of file diff --git a/etc/path.go b/etc/path.go deleted file mode 100644 index a90b9125..00000000 --- a/etc/path.go +++ /dev/null @@ -1,15 +0,0 @@ -package etc - -import ( - "path/filepath" - "runtime" -) - -var ( - _, b, _, _ = runtime.Caller(0) - basepath = filepath.Dir(b) -) - -func Path() string { - return basepath -} diff --git a/filenode/Makefile b/filenode/Makefile deleted file mode 100644 index 01268b68..00000000 --- a/filenode/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -.PHONY: proto build test -export GOPRIVATE=github.com/anytypeio - -build: - @$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/filenode)) - go build -v -o ../bin/anytype-file -ldflags "$(FLAGS)" github.com/anytypeio/go-anytype-infrastructure-experiments/filenode/cmd - -test: - go test ./... --cover diff --git a/filenode/account/service.go b/filenode/account/service.go deleted file mode 100644 index 3b508a1b..00000000 --- a/filenode/account/service.go +++ /dev/null @@ -1,69 +0,0 @@ -package account - -import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" -) - -type service struct { - accountData *accountdata.AccountData - peerId string -} - -func (s *service) Account() *accountdata.AccountData { - return s.accountData -} - -func New() app.Component { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - acc := a.MustComponent("config").(commonaccount.ConfigGetter).GetAccount() - - decodedEncryptionKey, err := keys.DecodeKeyFromString( - acc.EncryptionKey, - encryptionkey.NewEncryptionRsaPrivKeyFromBytes, - nil) - if err != nil { - return err - } - - decodedSigningKey, err := keys.DecodeKeyFromString( - acc.SigningKey, - signingkey.NewSigningEd25519PrivKeyFromBytes, - nil) - if err != nil { - return err - } - - decodedPeerKey, err := keys.DecodeKeyFromString( - acc.PeerKey, - signingkey.NewSigningEd25519PrivKeyFromBytes, - nil) - if err != nil { - return err - } - - identity, err := decodedSigningKey.GetPublic().Raw() - if err != nil { - return err - } - - s.accountData = &accountdata.AccountData{ - Identity: identity, - PeerKey: decodedPeerKey, - SignKey: decodedSigningKey, - EncKey: decodedEncryptionKey, - } - - return nil -} - -func (s *service) Name() (name string) { - return commonaccount.CName -} diff --git a/filenode/cmd/filenode.go b/filenode/cmd/filenode.go deleted file mode 100644 index b3e18864..00000000 --- a/filenode/cmd/filenode.go +++ /dev/null @@ -1,93 +0,0 @@ -package main - -import ( - "context" - "flag" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/filenode/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/filenode/filepogreb" - "github.com/anytypeio/go-anytype-infrastructure-experiments/filenode/fileserver" - "go.uber.org/zap" - "net/http" - _ "net/http/pprof" - "os" - "os/signal" - "syscall" - "time" -) - -var log = logger.NewNamed("main") - -var ( - flagConfigFile = flag.String("c", "etc/config.yml", "path to config file") - flagVersion = flag.Bool("v", false, "show version and exit") - flagHelp = flag.Bool("h", false, "show help and exit") -) - -func main() { - flag.Parse() - - if *flagVersion { - fmt.Println(app.VersionDescription()) - return - } - if *flagHelp { - flag.PrintDefaults() - return - } - - if debug, ok := os.LookupEnv("ANYPROF"); ok && debug != "" { - go func() { - http.ListenAndServe(debug, nil) - }() - } - - // create app - ctx := context.Background() - a := new(app.App) - - // open config file - conf, err := config.NewFromFile(*flagConfigFile) - if err != nil { - log.Fatal("can't open config file", zap.Error(err)) - } - - // bootstrap components - a.Register(conf) - Bootstrap(a) - - // start app - if err := a.Start(ctx); err != nil { - log.Fatal("can't start app", zap.Error(err)) - } - log.Info("app started", zap.String("version", a.Version())) - - // wait exit signal - exit := make(chan os.Signal, 1) - signal.Notify(exit, os.Interrupt, syscall.SIGKILL, syscall.SIGTERM, syscall.SIGQUIT) - sig := <-exit - log.Info("received exit signal, stop app...", zap.String("signal", fmt.Sprint(sig))) - - // close app - ctx, cancel := context.WithTimeout(ctx, time.Minute) - defer cancel() - if err := a.Close(ctx); err != nil { - log.Fatal("close error", zap.Error(err)) - } else { - log.Info("goodbye!") - } - time.Sleep(time.Second / 3) -} - -func Bootstrap(a *app.App) { - a.Register(secureservice.New()). - Register(server.New()). - Register(filepogreb.New()). - Register(fileserver.New()). - Register(metric.New()) -} diff --git a/filenode/config/config.go b/filenode/config/config.go deleted file mode 100644 index f6858de0..00000000 --- a/filenode/config/config.go +++ /dev/null @@ -1,55 +0,0 @@ -package config - -import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "gopkg.in/yaml.v3" - "os" -) - -const CName = "config" - -func NewFromFile(path string) (c *Config, err error) { - c = &Config{} - data, err := os.ReadFile(path) - if err != nil { - return nil, err - } - if err = yaml.Unmarshal(data, c); err != nil { - return nil, err - } - return -} - -type Config struct { - Account commonaccount.Config `yaml:"account"` - GrpcServer net.Config `yaml:"grpcServer"` - Metric metric.Config `yaml:"metric"` - FileStorePogreb FileStorePogreb `yaml:"fileStorePogreb"` -} - -func (c *Config) Init(a *app.App) (err error) { - return -} - -func (c Config) Name() (name string) { - return CName -} - -func (c Config) GetAccount() commonaccount.Config { - return c.Account -} - -func (c Config) GetFileStorePogreb() FileStorePogreb { - return c.FileStorePogreb -} - -func (c Config) GetNet() net.Config { - return c.GrpcServer -} - -func (c Config) GetMetric() metric.Config { - return c.Metric -} diff --git a/filenode/config/filestore.go b/filenode/config/filestore.go deleted file mode 100644 index 3ef0d1b9..00000000 --- a/filenode/config/filestore.go +++ /dev/null @@ -1,5 +0,0 @@ -package config - -type FileStorePogreb struct { - Path string `yaml:"path"` -} diff --git a/filenode/filepogreb/filepogreb.go b/filenode/filepogreb/filepogreb.go deleted file mode 100644 index 736d88dc..00000000 --- a/filenode/filepogreb/filepogreb.go +++ /dev/null @@ -1,99 +0,0 @@ -package filepogreb - -import ( - "context" - "github.com/akrylysov/pogreb" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/filenode/config" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" - "go.uber.org/zap" -) - -const CName = fileblockstore.CName - -var log = logger.NewNamed(CName) - -func New() Store { - return &store{} -} - -type Store interface { - app.ComponentRunnable - fileblockstore.BlockStore -} - -type configSource interface { - GetFileStorePogreb() config.FileStorePogreb -} - -type store struct { - db *pogreb.DB - conf config.FileStorePogreb -} - -func (s *store) Init(a *app.App) (err error) { - s.conf = a.MustComponent("config").(configSource).GetFileStorePogreb() - return -} - -func (s *store) Name() (name string) { - return CName -} - -func (s *store) Run(ctx context.Context) (err error) { - if s.db, err = pogreb.Open(s.conf.Path, &pogreb.Options{}); err != nil { - return - } - return -} - -func (s *store) Get(ctx context.Context, k cid.Cid) (blocks.Block, error) { - val, err := s.db.Get(k.Bytes()) - if err != nil { - return nil, fileblockstore.ErrCIDNotFound - } - return blocks.NewBlock(val), nil -} - -func (s *store) GetMany(ctx context.Context, ks []cid.Cid) <-chan blocks.Block { - var res = make(chan blocks.Block) - go func() { - defer close(res) - for _, k := range ks { - b, err := s.Get(ctx, k) - if err != nil { - continue - } - select { - case <-ctx.Done(): - return - case res <- b: - } - } - }() - return res -} - -func (s *store) Add(ctx context.Context, bs []blocks.Block) error { - for _, b := range bs { - log.Debug("put cid", zap.String("cid", b.Cid().String())) - if err := s.db.Put(b.Cid().Bytes(), b.RawData()); err != nil { - return err - } - } - return nil -} - -func (s *store) Delete(ctx context.Context, c cid.Cid) error { - return s.db.Delete(c.Bytes()) -} - -func (s *store) Close(ctx context.Context) (err error) { - if s.db != nil { - return s.db.Close() - } - return -} diff --git a/filenode/fileserver/fileserver.go b/filenode/fileserver/fileserver.go deleted file mode 100644 index d898c076..00000000 --- a/filenode/fileserver/fileserver.go +++ /dev/null @@ -1,31 +0,0 @@ -package fileserver - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" -) - -const CName = "common.commonfile.fileservice" - -func New() FileServer { - return &fileServer{} -} - -type FileServer interface { - app.Component -} - -type fileServer struct { - store fileblockstore.BlockStore -} - -func (f *fileServer) Init(a *app.App) (err error) { - f.store = a.MustComponent(fileblockstore.CName).(fileblockstore.BlockStore) - return fileproto.DRPCRegisterFile(a.MustComponent(server.CName).(server.DRPCServer), &rpcHandler{store: f.store}) -} - -func (f *fileServer) Name() (name string) { - return CName -} diff --git a/filenode/fileserver/rpchandler.go b/filenode/fileserver/rpchandler.go deleted file mode 100644 index 6a6e563d..00000000 --- a/filenode/fileserver/rpchandler.go +++ /dev/null @@ -1,79 +0,0 @@ -package fileserver - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileblockstore" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonfile/fileproto/fileprotoerr" - blocks "github.com/ipfs/go-block-format" - "github.com/ipfs/go-cid" -) - -type rpcHandler struct { - store fileblockstore.BlockStore -} - -func (r *rpcHandler) GetBlocks(stream fileproto.DRPCFile_GetBlocksStream) error { - for { - req, err := stream.Recv() - if err != nil { - return err - } - resp := &fileproto.GetBlockResponse{ - Cid: req.Cid, - } - c, err := cid.Cast(req.Cid) - if err != nil { - resp.Code = fileproto.CIDError_CIDErrorUnexpected - } else { - b, err := r.store.Get(fileblockstore.CtxWithSpaceId(stream.Context(), req.SpaceId), c) - if err != nil { - if err == fileblockstore.ErrCIDNotFound { - resp.Code = fileproto.CIDError_CIDErrorNotFound - } else { - resp.Code = fileproto.CIDError_CIDErrorUnexpected - } - } else { - resp.Data = b.RawData() - } - } - if err = stream.Send(resp); err != nil { - return err - } - } -} - -func (r *rpcHandler) PushBlock(ctx context.Context, req *fileproto.PushBlockRequest) (*fileproto.PushBlockResponse, error) { - c, err := cid.Cast(req.Cid) - if err != nil { - return nil, err - } - b, err := blocks.NewBlockWithCid(req.Data, c) - if err != nil { - return nil, err - } - if err = r.store.Add(fileblockstore.CtxWithSpaceId(ctx, req.SpaceId), []blocks.Block{b}); err != nil { - return nil, fileprotoerr.ErrUnexpected - } - return &fileproto.PushBlockResponse{}, nil -} - -func (r *rpcHandler) DeleteBlocks(ctx context.Context, req *fileproto.DeleteBlocksRequest) (*fileproto.DeleteBlocksResponse, error) { - for _, cd := range req.Cid { - c, err := cid.Cast(cd) - if err == nil { - if err = r.store.Delete(fileblockstore.CtxWithSpaceId(ctx, req.SpaceId), c); err != nil { - // TODO: log - } - } - } - return &fileproto.DeleteBlocksResponse{}, nil -} - -func (r *rpcHandler) Check(ctx context.Context, request *fileproto.CheckRequest) (*fileproto.CheckResponse, error) { - resp := &fileproto.CheckResponse{} - if withSpaceIds, ok := r.store.(fileblockstore.BlockStoreSpaceIds); ok { - resp.SpaceIds = withSpaceIds.SpaceIds() - } - return resp, nil -} diff --git a/filenode/go.mod b/filenode/go.mod deleted file mode 100644 index 3fe16ed8..00000000 --- a/filenode/go.mod +++ /dev/null @@ -1,56 +0,0 @@ -module github.com/anytypeio/go-anytype-infrastructure-experiments/filenode - -go 1.19 - -replace github.com/anytypeio/go-anytype-infrastructure-experiments/common => ../common - -require ( - github.com/akrylysov/pogreb v0.10.1 - github.com/anytypeio/go-anytype-infrastructure-experiments/common v0.0.0-00010101000000-000000000000 - github.com/ipfs/go-block-format v0.0.3 - github.com/ipfs/go-cid v0.3.2 - go.uber.org/zap v1.24.0 - gopkg.in/yaml.v3 v3.0.1 -) - -require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/ipfs/go-ipfs-util v0.0.2 // indirect - github.com/ipfs/go-log/v2 v2.5.1 // indirect - github.com/klauspost/cpuid/v2 v2.2.2 // indirect - github.com/kr/pretty v0.3.0 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.23.2 // indirect - github.com/libp2p/go-openssl v0.1.0 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mattn/go-pointer v0.0.1 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/minio/sha256-simd v1.0.0 // indirect - github.com/mr-tron/base58 v1.2.0 // indirect - github.com/multiformats/go-base32 v0.1.0 // indirect - github.com/multiformats/go-base36 v0.2.0 // indirect - github.com/multiformats/go-multiaddr v0.7.0 // indirect - github.com/multiformats/go-multibase v0.1.1 // indirect - github.com/multiformats/go-multicodec v0.6.0 // indirect - github.com/multiformats/go-multihash v0.2.1 // indirect - github.com/multiformats/go-varint v0.0.7 // indirect - github.com/prometheus/client_golang v1.13.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect - github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/zeebo/errs v1.3.0 // indirect - go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.4.0 // indirect - golang.org/x/sys v0.3.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect - lukechampine.com/blake3 v1.1.7 // indirect - storj.io/drpc v0.0.32 // indirect -) diff --git a/filenode/go.sum b/filenode/go.sum deleted file mode 100644 index a7f0ad57..00000000 --- a/filenode/go.sum +++ /dev/null @@ -1,598 +0,0 @@ -cloud.google.com/go v0.26.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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/akrylysov/pogreb v0.10.1 h1:FqlR8VR7uCbJdfUob916tPM+idpKgeESDXOA1K0DK4w= -github.com/akrylysov/pogreb v0.10.1/go.mod h1:pNs6QmpQ1UlTJKDezuRWmaqkgUE2TuU0YTWyqJZ7+lI= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -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/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -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/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -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/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -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.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -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/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/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/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ipfs/go-block-format v0.0.3 h1:r8t66QstRp/pd/or4dpnbVfXT5Gt7lOqRvC+/dDTpMc= -github.com/ipfs/go-block-format v0.0.3/go.mod h1:4LmD4ZUw0mhO+JSKdpWwrzATiEfM7WWgQ8H5l6P8MVk= -github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= -github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc= -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw= -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-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= -github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.2 h1:xPMwiykqNK9VK0NYC3+jTMYv9I6Vl3YdjZgPZKG3zO0= -github.com/klauspost/cpuid/v2 v2.2.2/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -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-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/libp2p/go-libp2p v0.23.2 h1:yqyTeKQJyofWXxEv/eEVUvOrGdt/9x+0PIQ4N1kaxmE= -github.com/libp2p/go-libp2p v0.23.2/go.mod h1:s9DEa5NLR4g+LZS+md5uGU4emjMWFiqkZr6hBTY8UxI= -github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo= -github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= -github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= -github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= -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/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= -github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= -github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= -github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= -github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= -github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= -github.com/multiformats/go-multiaddr v0.7.0 h1:gskHcdaCyPtp9XskVwtvEeQOG465sCohbQIirSyqxrc= -github.com/multiformats/go-multiaddr v0.7.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs= -github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= -github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI= -github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8= -github.com/multiformats/go-multicodec v0.6.0 h1:KhH2kSuCARyuJraYMFxrNO3DqIaYhOdS039kbhgVwpE= -github.com/multiformats/go-multicodec v0.6.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw= -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-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= -github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= -github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= -github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= -github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -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/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/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= -github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs= -github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -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-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -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-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/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-20181114220301-adae6a3d119a/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-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/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-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -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/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/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/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-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -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/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/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-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/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-20191125144606-a911d9008d1f/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-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/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-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -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/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/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-20190418145605-e7d98fc518a7/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-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/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.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -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.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -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= -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/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/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -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-20190418001031-e561f6794a2a/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/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= -lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -storj.io/drpc v0.0.32 h1:5p5ZwsK/VOgapaCu+oxaPVwO6UwIs+iwdMiD50+R4PI= -storj.io/drpc v0.0.32/go.mod h1:6rcOyR/QQkSTX/9L5ZGtlZaE2PtXTTZl8d+ulSeeYEg= diff --git a/common/go.mod b/go.mod similarity index 98% rename from common/go.mod rename to go.mod index e06d12a3..f7a4ae16 100644 --- a/common/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/anytypeio/go-anytype-infrastructure-experiments/common +module github.com/anytypeio/any-sync go 1.19 diff --git a/common/go.sum b/go.sum similarity index 100% rename from common/go.sum rename to go.sum diff --git a/go.work b/go.work deleted file mode 100644 index 99ac9c9f..00000000 --- a/go.work +++ /dev/null @@ -1,10 +0,0 @@ -go 1.19 - -use ( - ./client - ./common - ./consensus - ./filenode - ./node - ./util -) diff --git a/go.work.sum b/go.work.sum deleted file mode 100644 index c248b952..00000000 --- a/go.work.sum +++ /dev/null @@ -1,463 +0,0 @@ -cloud.google.com/go v0.65.0 h1:Dg9iHVQfrhq82rUNu9ZxUDrJLaxFUe/HlCVaLyRruq8= -cloud.google.com/go/bigquery v1.8.0 h1:PQcPefKFdaIzjQFbiyOgAqyx8q5djaE7x9Sqe712DPA= -cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ= -cloud.google.com/go/pubsub v1.3.1 h1:ukjixP1wl0LpnZ6LWtZJ0mX5tBmjp1f8Sqer8Z2OMUU= -cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA= -dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3 h1:hJiie5Bf3QucGRa4ymsAUOxyhYwGEz1xrsVk0P8erlw= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= -dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0 h1:SPOUaucgtVls75mg+X7CXigS71EnsfVUK/2CgVrwqgw= -dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412 h1:GvWw74lx5noHocd+f6HBMXK6DuggBB1dhVkuGZbv7qM= -dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c h1:ivON6cwHK1OH26MZyWDCnbTRZZf0IhNsENoNAKFS1g4= -git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999 h1:OR8VhtwhcAI3U48/rzBsVOuHi0zDPzYI1xASVcdSgR8= -github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= -github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= -github.com/Kubuxu/go-os-helper v0.0.1 h1:EJiD2VUQyh5A9hWJLmc6iWg6yIcJ7jpBcwC8GMGXfDk= -github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= -github.com/apache/thrift v0.13.0 h1:5hryIiq9gtn+MiLVn0wP37kb/uTeRZgN08WoCsAhIhI= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310 h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a h1:pv34s756C4pEXnjgPfGYgdhg/ZdajGhyOvzx8k+23nw= -github.com/aws/aws-lambda-go v1.13.3 h1:SuCy7H3NLyp+1Mrfp+m80jcbi9KYWAs9/BXwppwRDzY= -github.com/aws/aws-sdk-go v1.27.0 h1:0xphMHGMLBrPMfxR2AmVjZKcMEESEgWF8Kru94BNByk= -github.com/aws/aws-sdk-go-v2 v0.18.0 h1:qZ+woO4SamnH/eEbjM2IDLhRNwIwND/RQyVlBLp3Jqg= -github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= -github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625 h1:ckJgFhFWywOx+YLEMIJsTb+NV6NexWICk5+AMSuz3ss= -github.com/btcsuite/btcd v0.21.0-beta h1:At9hIZdJW0s9E/fAz28nrz6AmcNlSVucCH796ZteX1M= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= -github.com/btcsuite/btcutil v1.0.2 h1:9iZ1Terx9fMIOtq1VrwdqfsATL9MC2l8ZrUY6YZ2uts= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= -github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= -github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= -github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= -github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23 h1:D21IyuvjDCshj1/qq+pCNd3VZOAEI9jy6Bi131YlXgI= -github.com/casbin/casbin/v2 v2.1.2 h1:bTwon/ECRx9dwBy2ewRVr5OiqjeXSGiTUY74sDPQi/g= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= -github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= -github.com/cheggaaa/mb/v2 v2.0.1 h1:gn0khbEbKlw3i5VOYi0VnHEHayjZKfUDOyGSpHAybBs= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= -github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= -github.com/cilium/ebpf v0.4.0 h1:QlHdikaxALkqWasW8hAC1mfR0jdmvbfaBdBPFmRSglA= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec h1:EdRZT3IeKQmfCSrgo8SZ8V3MEnskuJP0wCYNpe+aiXo= -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f h1:WBZRG4aNOuI15bLRrCgN8fCq8E5Xuty6jGbmSNEvSsU= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= -github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= -github.com/containerd/cgroups v1.0.4 h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA= -github.com/containerd/cgroups v1.0.4/go.mod h1:nLNQtsF7Sl2HxNebu77i1R0oDlhiTG+kO4JTrUzo6IA= -github.com/coreos/etcd v3.3.10+incompatible h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ7pD7MnhC04= -github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= -github.com/coreos/go-semver v0.2.0 h1:3Jm3tLmsgAYcjC+4Up7hJrFBPr+n7rAqYeSw/SZazuY= -github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= -github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d h1:t5Wuyh53qYyg9eqn4BbnlIT+vmhyww0TatL+zT3uWgI= -github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.4.0 h1:y9YHcjnjynCd/DVbg5j9L/33jQM3MxJlbj/zWskzfGU= -github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf h1:CAKfRE2YtTUIjjh1bkBtyYFaUT/WmOqsJjgtihT0vMI= -github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= -github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= -github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= -github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= -github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8= -github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= -github.com/elastic/gosigar v0.12.0/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= -github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= -github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= -github.com/envoyproxy/go-control-plane v0.9.4 h1:rEvIZUSZ3fx39WIi3JkQqQBitGwpELBIYWeBVh6wn+E= -github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= -github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= -github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= -github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db h1:gb2Z18BhTPJPpLQWj4T+rfKHYCHxRHCtRxhKKjRidVw= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCgVZh26+ZbGyoVJG7yb5SSzF5H54= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/gliderlabs/ssh v0.1.1 h1:j3L6gSLQalDETeEg/Jg0mGY0/y/N6zI2xX1978P0Uqw= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI= -github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= -github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= -github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= -github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-sql-driver/mysql v1.4.0 h1:7LxgVwFb2hIQtMm87NdgAVfXjnt4OePseqT1tKx+opk= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-yaml/yaml v2.1.0+incompatible h1:RYi2hDdss1u4YE7GwixGzWwVo47T8UQwnTLB6vQiq+o= -github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= -github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/googleapis v1.1.0 h1:kFkMAZBNAn4j7K0GiZr8cRYzejq68VbheufiV3YuyFI= -github.com/golang/lint v0.0.0-20180702182130-06c8688daad7 h1:2hRPrmiwPrp3fQX967rNJIhQPtiGXdlQWAxKbKw3VHA= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY= -github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= -github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= -github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99 h1:Ak8CrdlwwXwAZxzS66vgPt4U8yUZX7JwLvVR58FN5jM= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= -github.com/googleapis/gax-go v2.0.0+incompatible h1:j0GKcs05QVmm7yesiZq2+9cxHkNK9YM6zKx4D2qucQU= -github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= -github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= -github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 h1:z53tR0945TRRQO/fLEVPI6SMv7ZflF0TEaTAoU7tOzg= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/grpc-gateway v1.9.5 h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI= -github.com/gxed/hashland/keccakpg v0.0.1 h1:wrk3uMNaMxbXiHibbPO4S0ymqJMm41WiudyFSs7UnsU= -github.com/gxed/hashland/murmur3 v0.0.1 h1:SheiaIt0sda5K+8FLz952/1iWS9zrnKsEJaOJu4ZbSc= -github.com/hashicorp/consul/api v1.3.0 h1:HXNYlRkkM/t+Y/Yhxtwcy02dlYwIaoxzvxPnS+cqy78= -github.com/hashicorp/consul/sdk v0.3.0 h1:UOxjlb4xVNF93jak1mzzoBatyFju9nrkxpVwIp/QqxQ= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= -github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= -github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= -github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= -github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= -github.com/hashicorp/go-rootcerts v1.0.0 h1:Rqb66Oo1X/eSV1x66xbDccZjhJigjg0+e82kpwzSwCI= -github.com/hashicorp/go-sockaddr v1.0.0 h1:GeH6tui99pF4NJgfnhp+L6+FfobzVW3Ah46sLo0ICXs= -github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= -github.com/hashicorp/go-version v1.2.0 h1:3vNe/fWF5CBgRIguda1meWhsZHy3m8gCJ5wx+dIzX/E= -github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= -github.com/hashicorp/mdns v1.0.0 h1:WhIgCr5a7AaVH6jPUwjtRuuE7/RDufnUvzIr48smyxs= -github.com/hashicorp/memberlist v0.1.3 h1:EmmoJme1matNzb+hMpDuR/0sbJSUisxyqBGG676r31M= -github.com/hashicorp/serf v0.8.2 h1:YZ7UKsJv+hKjqGVUUbtE3HNj79Eln2oQ75tniF6iPt0= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= -github.com/hudl/fargo v1.3.0 h1:0U6+BtN6LhaYuTnIJq4Wyq5cpn6O2kWrxAtcqBmYY6w= -github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= -github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150 h1:vlNjIqmUZ9CMAWsbURYl3a6wZbw7q5RHVvlXTNS/Bs8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6 h1:UDMh68UUwekSh5iP2OMhRRZJiiBccgV7axzUG8vi56c= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d h1:/WZQPMZNsjZ7IlCpsLGdQBINg5bxKQ1K1sh6awxLtkA= -github.com/ipfs/go-bitswap v0.11.0/go.mod h1:05aE8H3XOU+LXpTedeAS0OZpcO1WFsj5niYQH9a1Tmk= -github.com/ipfs/go-cid v0.2.0/go.mod h1:P+HXFDF4CVhaVayiEb4wkAy7zBHxBwsJyt0Y5U6MLro= -github.com/ipfs/go-ds-badger v0.3.0 h1:xREL3V0EH9S219kFFueOYJJTcjgNSZ2HY1iSvN7U1Ro= -github.com/ipfs/go-ds-badger v0.3.0/go.mod h1:1ke6mXNqeV8K3y5Ak2bAA0osoTfmxUdupVCGm4QUIek= -github.com/ipfs/go-ds-leveldb v0.5.0 h1:s++MEBbD3ZKc9/8/njrn4flZLnCuY9I79v94gBUNumo= -github.com/ipfs/go-ds-leveldb v0.5.0/go.mod h1:d3XG9RUDzQ6V4SHi8+Xgj9j1XuEk1z82lquxrVbml/Q= -github.com/ipfs/go-ipfs-exchange-offline v0.3.0/go.mod h1:MOdJ9DChbb5u37M1IcbrRB02e++Z7521fMxqCNRrz9s= -github.com/ipfs/go-ipfs-routing v0.3.0/go.mod h1:dKqtTFIql7e1zYsEuWLyuOU+E0WJWW8JjbTPLParDWo= -github.com/ipfs/go-peertaskqueue v0.8.0/go.mod h1:cz8hEnnARq4Du5TGqiWKgMr/BOSQ5XOgMOh1K5YYKKM= -github.com/ipld/go-ipld-prime v0.18.0/go.mod h1:735yXW548CKrLwVCYXzqx90p5deRJMVVxM9eJ4Qe+qE= -github.com/jackpal/gateway v1.0.5 h1:qzXWUJfuMdlLMtt0a3Dgt+xkWQiA5itDEITVJtuSwMc= -github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc= -github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= -github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1 h1:ujPKutqRlJtcfWk6toYVYagwra7HQHbXOaS171b4Tg8= -github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= -github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= -github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= -github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d h1:cVtBfNW5XTHiKQe7jDaDBSh/EVM4XLPutLAGboIXuM0= -github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= -github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= -github.com/klauspost/cpuid/v2 v2.1.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/koron/go-ssdp v0.0.3/go.mod h1:b2MxI6yh02pKrsyNoQUsk4+YNikaGhe4894J+Q5lDvA= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= -github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= -github.com/kr/pty v1.1.3 h1:/Um6a/ZmD5tF7peoOJ5oN5KMQ0DrGVQSXLNwyckutPk= -github.com/libp2p/go-addr-util v0.0.2 h1:7cWK5cdA5x72jX0g8iLrQWm5TRJZ6CzGdPEhWj7plWU= -github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= -github.com/libp2p/go-conn-security-multistream v0.2.1 h1:ft6/POSK7F+vl/2qzegnHDaXFU0iWB4yVTYrioC6Zy0= -github.com/libp2p/go-eventbus v0.2.1 h1:VanAdErQnpTioN2TowqNcOijf6YwhuODe4pPKSDpxGc= -github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= -github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= -github.com/libp2p/go-libp2p v0.22.0/go.mod h1:UDolmweypBSjQb2f7xutPnwZ/fxioLbMBxSjRksxxU4= -github.com/libp2p/go-libp2p-asn-util v0.2.0/go.mod h1:WoaWxbHKBymSN41hWSq/lGKJEca7TNm58+gGJi2WsLI= -github.com/libp2p/go-libp2p-autonat v0.4.2 h1:YMp7StMi2dof+baaxkbxaizXjY1RPvU71CXfxExzcUU= -github.com/libp2p/go-libp2p-blankhost v0.2.0 h1:3EsGAi0CBGcZ33GwRuXEYJLLPoVWyXJ1bcJzAJjINkk= -github.com/libp2p/go-libp2p-circuit v0.4.0 h1:eqQ3sEYkGTtybWgr6JLqJY6QLtPWRErvFjFDfAOO1wc= -github.com/libp2p/go-libp2p-core v0.20.1 h1:fQz4BJyIFmSZAiTbKV8qoYhEH5Dtv/cVhZbG3Ib/+Cw= -github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ= -github.com/libp2p/go-libp2p-discovery v0.5.0 h1:Qfl+e5+lfDgwdrXdu4YNCWyEo3fWuP+WgN9mN0iWviQ= -github.com/libp2p/go-libp2p-loggables v0.1.0 h1:h3w8QFfCt2UJl/0/NW4K829HX/0S4KD31PQ7m8UXXO8= -github.com/libp2p/go-libp2p-mplex v0.4.1 h1:/pyhkP1nLwjG3OM+VuaNJkQT/Pqq73WzB3aDN3Fx1sc= -github.com/libp2p/go-libp2p-nat v0.0.6 h1:wMWis3kYynCbHoyKLPBEMu4YRLltbm8Mk08HGSfvTkU= -github.com/libp2p/go-libp2p-netutil v0.1.0 h1:zscYDNVEcGxyUpMd0JReUZTrpMfia8PmLKcKF72EAMQ= -github.com/libp2p/go-libp2p-noise v0.2.0 h1:wmk5nhB9a2w2RxMOyvsoKjizgJOEaJdfAakr0jN8gds= -github.com/libp2p/go-libp2p-peer v0.2.0 h1:EQ8kMjaCUwt/Y5uLgjT8iY2qg0mGUT0N1zUjer50DsY= -github.com/libp2p/go-libp2p-peerstore v0.2.7 h1:83JoLxyR9OYTnNfB5vvFqvMUv/xDNa6NoPHnENhBsGw= -github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6na5f0/k= -github.com/libp2p/go-libp2p-quic-transport v0.10.0 h1:koDCbWD9CCHwcHZL3/WEvP2A+e/o5/W5L3QS/2SPMA0= -github.com/libp2p/go-libp2p-record v0.2.0/go.mod h1:I+3zMkvvg5m2OcSdoL0KPljyJyvNDFGKX7QdlpYUcwk= -github.com/libp2p/go-libp2p-secio v0.2.2 h1:rLLPvShPQAcY6eNurKNZq3eZjPWfU9kXF2eI9jIYdrg= -github.com/libp2p/go-libp2p-swarm v0.5.0 h1:HIK0z3Eqoo8ugmN8YqWAhD2RORgR+3iNXYG4U2PFd1E= -github.com/libp2p/go-libp2p-testing v0.12.0/go.mod h1:KcGDRXyN7sQCllucn1cOOS+Dmm7ujhfEyXQL5lvkcPg= -github.com/libp2p/go-libp2p-tls v0.1.3 h1:twKMhMu44jQO+HgQK9X8NHO5HkeJu2QbhLzLJpa8oNM= -github.com/libp2p/go-libp2p-transport-upgrader v0.4.2 h1:4JsnbfJzgZeRS9AWN7B9dPqn/LY/HoQTlO9gtdJTIYM= -github.com/libp2p/go-libp2p-yamux v0.5.4 h1:/UOPtT/6DHPtr3TtKXBHa6g0Le0szYuI33Xc/Xpd7fQ= -github.com/libp2p/go-maddr-filter v0.1.0 h1:4ACqZKw8AqiuJfwFGq1CYDFugfXTOos+qQ3DETkhtCE= -github.com/libp2p/go-mplex v0.7.0 h1:BDhFZdlk5tbr0oyFq/xv/NPGfjbnrsDam1EvutpBDbY= -github.com/libp2p/go-mplex v0.7.0/go.mod h1:rW8ThnRcYWft/Jb2jeORBmPd6xuG3dGxWN/W168L9EU= -github.com/libp2p/go-msgio v0.2.0/go.mod h1:dBVM1gW3Jk9XqHkU4eKdGvVHdLa51hoGfll6jMJMSlY= -github.com/libp2p/go-nat v0.1.0/go.mod h1:X7teVkwRHNInVNWQiO/tAiAVRwSr5zoRz4YSTC3uRBM= -github.com/libp2p/go-netroute v0.2.0/go.mod h1:Vio7LTzZ+6hoT4CMZi5/6CpY3Snzh2vgZhWgxMNwlQI= -github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560= -github.com/libp2p/go-reuseport v0.2.0/go.mod h1:bvVho6eLMm6Bz5hmU0LYN3ixd3nPPvtIlaURZZgOY4k= -github.com/libp2p/go-reuseport-transport v0.0.4 h1:OZGz0RB620QDGpv300n1zaOcKGGAoGVf8h9txtt/1uM= -github.com/libp2p/go-sockaddr v0.1.1 h1:yD80l2ZOdGksnOyHrhxDdTDFrf7Oy+v3FMVArIRgZxQ= -github.com/libp2p/go-stream-muxer v0.0.1 h1:Ce6e2Pyu+b5MC1k3eeFtAax0pW4gc6MosYSLV05UeLw= -github.com/libp2p/go-stream-muxer-multistream v0.3.0 h1:TqnSHPJEIqDEO7h1wZZ0p3DXdvDSiLHQidKKUGZtiOY= -github.com/libp2p/go-tcp-transport v0.2.3 h1:Esfw8dbK3zwdZItnIJGmOOg1YGDYja4eOmJcoDx29uU= -github.com/libp2p/go-ws-transport v0.4.0 h1:9tvtQ9xbws6cA5LvqdE6Ne3vcmGB4f1z9SByggk4s0k= -github.com/libp2p/go-yamux v1.4.1 h1:P1Fe9vF4th5JOxxgQvfbOHkrGqIZniTLf+ddhZp8YTI= -github.com/libp2p/go-yamux/v2 v2.2.0 h1:RwtpYZ2/wVviZ5+3pjC8qdQ4TKnrak0/E01N1UWoAFU= -github.com/libp2p/go-yamux/v3 v3.1.2 h1:lNEy28MBk1HavUAlzKgShp+F6mn/ea1nDYWftZhFW9Q= -github.com/libp2p/go-yamux/v4 v4.0.0 h1:+Y80dV2Yx/kv7Y7JKu0LECyVdMXm1VUoko+VQ9rBfZQ= -github.com/libp2p/go-yamux/v4 v4.0.0/go.mod h1:NWjl8ZTLOGlozrXSOZ/HlfG++39iKNnM5wwmtQP1YB4= -github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q= -github.com/libp2p/zeroconf/v2 v2.2.0/go.mod h1:fuJqLnUwZTshS3U/bMRJ3+ow/v9oid1n0DmyYyNO1Xs= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= -github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= -github.com/lucas-clemente/quic-go v0.29.1 h1:Z+WMJ++qMLhvpFkRZA+jl3BTxUjm415YBmWanXB8zP0= -github.com/lucas-clemente/quic-go v0.29.1/go.mod h1:CTcNfLYJS2UuRNB+zcNlgvkjBhxX6Hm3WUxxAQx2mgE= -github.com/lunixbochs/vtclean v1.0.0 h1:xu2sLAri4lGiovBDQKxl5mrXyESr3gUr5m5SM5+LVb8= -github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= -github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe h1:W/GaMY0y69G4cFlmsC6B9sbuo2fP8OFP1ABjt4kPz+w= -github.com/marten-seemann/qpack v0.2.1 h1:jvTsT/HpCn2UZJdP+UUB53FfUUgeOyG5K1ns0OJOGVs= -github.com/marten-seemann/qtls v0.10.0 h1:ECsuYUKalRL240rRD4Ri33ISb7kAQ3qGDlrrl55b2pc= -github.com/marten-seemann/qtls-go1-15 v0.1.1 h1:LIH6K34bPVttyXnUWixk0bzH6/N07VxbSabxn5A5gZQ= -github.com/marten-seemann/qtls-go1-16 v0.1.5 h1:o9JrYPPco/Nukd/HpOHMHZoBDXQqoNtUCmny98/1uqQ= -github.com/marten-seemann/qtls-go1-17 v0.1.2 h1:JADBlm0LYiVbuSySCHeY863dNkcpMmDR7s0bLKJeYlQ= -github.com/marten-seemann/qtls-go1-18 v0.1.2 h1:JH6jmzbduz0ITVQ7ShevK10Av5+jBEKAHMntXmIV7kM= -github.com/marten-seemann/qtls-go1-18 v0.1.2/go.mod h1:mJttiymBAByA49mhlNZZGrH5u1uXYZJ+RW28Py7f4m4= -github.com/marten-seemann/qtls-go1-19 v0.1.0 h1:rLFKD/9mp/uq1SYGYuVZhm83wkmU95pK5df3GufyYYU= -github.com/marten-seemann/qtls-go1-19 v0.1.0/go.mod h1:5HTDWtVudo/WFsHKRNuOhWlbdjrfs5JHrYb0wIJqGpI= -github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= -github.com/marten-seemann/webtransport-go v0.1.1 h1:TnyKp3pEXcDooTaNn4s9dYpMJ7kMnTp7k5h+SgYP/mc= -github.com/marten-seemann/webtransport-go v0.1.1/go.mod h1:kBEh5+RSvOA4troP1vyOVBWK4MIMzDICXVrvCPrYcrM= -github.com/mattn/go-colorable v0.1.1 h1:G1f5SKeVxmagw/IyvzvtZE4Gybcc4Tr1tf7I8z0XgOg= -github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= -github.com/microcosm-cc/bluemonday v1.0.1 h1:SIYunPjnlXcW+gVfvm0IlSeR5U3WZUOLfVmqg85Go44= -github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= -github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= -github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c h1:bzE/A84HN25pxAuk9Eej1Kz9OUelF97nAc82bDquQI8= -github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= -github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= -github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= -github.com/mitchellh/cli v1.0.0 h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= -github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/multiformats/go-base32 v0.0.4/go.mod h1:jNLFzjPZtp3aIARHbJRZIaPuspdH0J6q39uUM5pnABM= -github.com/multiformats/go-multiaddr v0.6.0/go.mod h1:F4IpaKZuPP360tOMn2Tpyu0At8w23aRyVqeK0DbFeGM= -github.com/multiformats/go-multiaddr-net v0.2.0 h1:MSXRGN0mFymt6B1yo/6BPnIRpLPEnKgQNvVfCX5VDJk= -github.com/multiformats/go-multicodec v0.5.0/go.mod h1:DiY2HFaEp5EhEXb/iYzVAunmyX/aSFMxq2KMKfWEues= -github.com/multiformats/go-multihash v0.2.0/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= -github.com/multiformats/go-multistream v0.3.3/go.mod h1:ODRoqamLUsETKS9BNcII4gcRsJBU5VAwRIv7O39cEXg= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= -github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= -github.com/nats-io/nats-server/v2 v2.1.2 h1:i2Ly0B+1+rzNZHHWtD4ZwKi+OU5l+uQo1iDHZ2PmiIc= -github.com/nats-io/nats.go v1.9.1 h1:ik3HbLhZ0YABLto7iX80pZLPw/6dx3T+++MZJwLnMrQ= -github.com/nats-io/nkeys v0.1.3 h1:6JrEfig+HzTH85yxzhSVbjHRJv9cn0p6n3IngIcM5/k= -github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= -github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86 h1:D6paGObi5Wud7xg83MaEFyjxQB1W5bz5d0IFppr+ymk= -github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab h1:eFXv9Nu1lGbrNbj619aWwZfVF5HBrm9Plte8aNptuTI= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5 h1:58+kh9C6jJVXYjt8IE48G2eWl6BjwU5Gj0gqY84fy78= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88= -github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= -github.com/openzipkin/zipkin-go v0.2.2 h1:nY8Hti+WKaP0cRsSeQ026wU03QsM762XBeCXBb9NAWI= -github.com/pact-foundation/pact-go v1.0.4 h1:OYkFijGHoZAYbOIb1LWXrwKQbMMRUv1oQ89blD2Mh2Q= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs= -github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= -github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= -github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= -github.com/performancecopilot/speed v3.0.0+incompatible h1:2WnRzIquHa5QxaJKShDkLM+sc0JPuwhXzK8OYOyt3Vg= -github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= -github.com/pkg/profile v1.2.1 h1:F++O52m40owAmADcojzM+9gyjmMOY/T4oYJkgFDH8RE= -github.com/posener/complete v1.1.1 h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w= -github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= -github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a h1:9ZKAASQSHhDYGoxY8uLVpewe1GDZ2vu2Tr/vTdVAkFQ= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af h1:gu+uRPtBe88sKxUCEXRoeCvVG90TJmwhiqRpvdhQFng= -github.com/rogpeppe/go-internal v1.3.0 h1:RR9dF3JtopPvtkroDZuVD7qquD0bnHlKSqaQhgwt8yk= -github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= -github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= -github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f h1:UFr9zpz4xgTnIE5yIMtWAMngCdZ9p/+q6lTbgelo80M= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= -github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= -github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4 h1:Fth6mevc5rX7glNLpbAMJnqKlfIkcTjZCSHEeqvKbcI= -github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48 h1:vabduItPAIz9px5iryD5peyx7O3Ya8TBThapgXim98o= -github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470 h1:qb9IthCFBmROJ6YBS31BEMeSYjOscSiG+EO+JVNTz64= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= -github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d h1:Yoy/IzG4lULT6qZg62sVC+qyBL8DQkmD2zv6i7OImrc= -github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c h1:UOk+nlt1BJtTcH15CT7iNO7YVWTfTv/DNwEAQHLIaDQ= -github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b h1:vYEG87HxbU6dXj5npkeulCS96Dtz5xg3jcfCgpcvbIw= -github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20 h1:7pDq9pAMCQgRohFmd25X8hIH8VxmT3TaDm+r9LHxgBk= -github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9 h1:MPblCbqA5+z6XARjScMfz1TqtJC7TuTRj0U9VqIBs6k= -github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50 h1:crYRwvwjdVh1biHzzciFHe8DrZcYrVcZFlJtykhRctg= -github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc h1:eHRtZoIi6n9Wo1uR+RU44C247msLWwyA89hVKwRLkMk= -github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371 h1:SWV2fHctRpRrp49VXJ6UZja7gU9QLHwRpIPBN89SKEo= -github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9 h1:fxoFD0in0/CBzXoyNhMTjvBZYW6ilSnTw7N7y/8vkmM= -github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191 h1:T4wuULTrzCKMFlg3HmKHgXAF8oStFb/+lOIupLV2v+o= -github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241 h1:Y+TeIabU8sJD10Qwd/zMty2/LEaT9GNDaA6nyZf+jgo= -github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122 h1:TQVQrsyNaimGwF7bIhzoVC9QkKm4KsWd8cECGzFx8gI= -github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2 h1:bu666BQci+y4S0tVRVjsHUeRon6vUXmsGBwdowgMrg4= -github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82 h1:LneqU9PHDsg/AkPDU3AkqMxnMYL+imaqkpflHu73us8= -github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= -github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537 h1:YGaxtkYjb8mnTvtufv2LKLwCQu2/C7qFB7UtrOlTWOY= -github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133 h1:JtcyT0rk/9PKOdnKQzuDR+FSjh7SGtJwpgVpfZBRKlQ= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/smola/gocompat v0.2.0 h1:6b1oIMlUXIpz//VKEDzPVBK8KG7beVwmHIUEBIs/Pns= -github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= -github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= -github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d h1:yKm7XZV6j9Ev6lojP2XaIshpT4ymkqhMeSghO5Ps00E= -github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e h1:qpG93cPwA5f7s/ZPBJnGOYQNK/vKsaDaseuKT5Asee8= -github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a h1:/eS3yfGjQKG+9kayBkj0ip1BGhq6zJ3eaVksphxAaek= -github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= -github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= -github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= -github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M= -github.com/src-d/envconfig v1.0.0 h1:/AJi6DtjFhZKNx3OB2qMsq7y4yT5//AeSZIe7rk+PX8= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271 h1:WhxRHzgeVGETMlmVfqhRn8RIeeNoPr2Czh33I4Zdccw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a h1:AhmOdSHeswKHBjhsLs/7+1voOxT+LLrSk/Nxvk35fug= -github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/testify v1.7.3/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= -github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07 h1:UyzmZLoiDWMRywV4DUYb9Fbt8uiOSooupjTq10vpvnU= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8 h1:ndzgwNDnKIqyCvHTXaCqh9KlOWKvBry6nuXMJmonVsE= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8 h1:3SVOIvH7Ae1KRYyQWRjXWJEA9sS/c/pjvH++55Gr648= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.10 h1:p8Fspmz3iTctJstry1PYS3HVdllxnEzTEsgIgtxTrCk= -github.com/viant/assertly v0.4.8 h1:5x1GzBaRteIwTr5RAGFVG14uNeRFxVNbXPWrK2qAgpc= -github.com/viant/toolbox v0.24.0 h1:6TteTDQ68CjgcCe8wH3D3ZhUQQOJXMTbj/D9rkk2a1k= -github.com/warpfork/go-testmark v0.10.0/go.mod h1:jhEf8FVxd+F17juRubpmut64NEG6I2rgkUhlcqqXwE0= -github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k= -github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc h1:9lDbC6Rz4bwmou+oE6Dt4Cb2BGMur5eR/GYptkKUVHo= -github.com/whyrusleeping/go-logging v0.0.1 h1:fwpzlmT0kRC/Fmd0MdmGgJG/CXIZ6gFq46FQZjprUcc= -github.com/whyrusleeping/mafmt v1.2.8 h1:TCghSl5kkwEE0j+sU/gudyhVMRlpBin8fMBBHg59EbA= -github.com/whyrusleeping/mdns v0.0.0-20190826153040-b9b60ed33aa9 h1:Y1/FEOpaCpD21WxrmfeIYCFPuVPRCY2XZTWzTNHGw30= -github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 h1:E9S12nwJwEOXe2d6gT6qxdvqMnNq+VnSsKPgm2ZZNds= -github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= -github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0= -go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= -go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= -go.uber.org/zap v1.22.0/go.mod h1:H4siCOZOrAolnUPJEkfaSjDqyP+BDS0DdDWzwcgt3+U= -go4.org v0.0.0-20180809161055-417644f6feb5 h1:+hE86LblG4AyDgwMCLTE6FOlM9+qjHSYS+rKqxUVdsM= -golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d h1:E2M5QgjZ/Jg+ObCQAudsXxuTsLj7Nl5RV/lZcQZmKSo= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220812174116-3211cb980234/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b h1:clP8eMhB30EHdc0bd2Twtq6kgU7yl5ub2cQLSdrv1Dg= -golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852 h1:xYq6+9AtI+xP3M4r0N1hCkHrInHDBohhquRgx9Kk6gI= -golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= -golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -google.golang.org/api v0.30.0 h1:yfrXXP61wVuLb0vBcG6qaOoIoqYEzOQS8jum51jkv2w= -google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987 h1:PDIOdWxZ8eRizhKa1AAvY53xsvLB1cWorMjslvY3VA8= -google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/cheggaaa/pb.v1 v1.0.25 h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= -gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= -gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d h1:mXa4inJUuWOoA4uEROxtJ3VMELMlVkIxIfcR0HBekAM= -gopkg.in/src-d/go-log.v1 v1.0.1 h1:heWvX7J6qbGWbeFS/aRmiy1eYaT+QMV6wNvHDyMjQV4= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -grpc.go4.org v0.0.0-20170609214715-11d0a25b4919 h1:tmXTu+dfa+d9Evp8NpJdgOy6+rt8/x4yG7qPBrtNfLY= -honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8= -rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= -rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= -rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= -sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= -sourcegraph.com/sourcegraph/go-diff v0.5.0 h1:eTiIR0CoWjGzJcnQ3OkhIl/b9GJovq4lSAVRt0ZFEG8= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4 h1:JPJh2pk3+X4lXAkZIk2RuE/7/FoK9maXw+TNPJhVS/c= diff --git a/common/metric/config.go b/metric/config.go similarity index 100% rename from common/metric/config.go rename to metric/config.go diff --git a/common/metric/drpc.go b/metric/drpc.go similarity index 100% rename from common/metric/drpc.go rename to metric/drpc.go diff --git a/common/metric/metric.go b/metric/metric.go similarity index 94% rename from common/metric/metric.go rename to metric/metric.go index 3ffb02fd..f3ddfae6 100644 --- a/common/metric/metric.go +++ b/metric/metric.go @@ -2,7 +2,7 @@ package metric import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" + "github.com/anytypeio/any-sync/app" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/collectors" "github.com/prometheus/client_golang/prometheus/promhttp" diff --git a/common/net/config.go b/net/config.go similarity index 100% rename from common/net/config.go rename to net/config.go diff --git a/common/net/dialer/dialer.go b/net/dialer/dialer.go similarity index 81% rename from common/net/dialer/dialer.go rename to net/dialer/dialer.go index a688629d..16476497 100644 --- a/common/net/dialer/dialer.go +++ b/net/dialer/dialer.go @@ -3,13 +3,13 @@ package dialer import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - net2 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/timeoutconn" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/app/logger" + net2 "github.com/anytypeio/any-sync/net" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/secureservice" + "github.com/anytypeio/any-sync/net/timeoutconn" + "github.com/anytypeio/any-sync/nodeconf" "github.com/libp2p/go-libp2p/core/sec" "go.uber.org/zap" "net" diff --git a/common/net/peer/context.go b/net/peer/context.go similarity index 100% rename from common/net/peer/context.go rename to net/peer/context.go diff --git a/common/net/peer/peer.go b/net/peer/peer.go similarity index 100% rename from common/net/peer/peer.go rename to net/peer/peer.go diff --git a/common/net/pool/pool.go b/net/pool/pool.go similarity index 88% rename from common/net/pool/pool.go rename to net/pool/pool.go index 9e50d2ce..5ca10c4e 100644 --- a/common/net/pool/pool.go +++ b/net/pool/pool.go @@ -3,11 +3,11 @@ package pool import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/dialer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/app/ocache" + "github.com/anytypeio/any-sync/net/dialer" + "github.com/anytypeio/any-sync/net/peer" "math/rand" "time" ) diff --git a/common/net/pool/pool_test.go b/net/pool/pool_test.go similarity index 95% rename from common/net/pool/pool_test.go rename to net/pool/pool_test.go index 2a9dce82..d96af5f5 100644 --- a/common/net/pool/pool_test.go +++ b/net/pool/pool_test.go @@ -4,9 +4,9 @@ import ( "context" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/dialer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/net/dialer" + "github.com/anytypeio/any-sync/net/peer" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "storj.io/drpc" diff --git a/common/net/rpc/rpcerr/registry.go b/net/rpc/rpcerr/registry.go similarity index 100% rename from common/net/rpc/rpcerr/registry.go rename to net/rpc/rpcerr/registry.go diff --git a/common/net/rpc/rpctest/pool.go b/net/rpc/rpctest/pool.go similarity index 88% rename from common/net/rpc/rpctest/pool.go rename to net/rpc/rpctest/pool.go index 549e8712..1b28fa56 100644 --- a/common/net/rpc/rpctest/pool.go +++ b/net/rpc/rpctest/pool.go @@ -3,9 +3,9 @@ package rpctest import ( "context" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/pool" "math/rand" "storj.io/drpc" "sync" diff --git a/common/net/rpc/rpctest/server.go b/net/rpc/rpctest/server.go similarity index 100% rename from common/net/rpc/rpctest/server.go rename to net/rpc/rpctest/server.go diff --git a/common/net/rpc/server/baseserver.go b/net/rpc/server/baseserver.go similarity index 97% rename from common/net/rpc/server/baseserver.go rename to net/rpc/server/baseserver.go index cb9902ee..a4457bbb 100644 --- a/common/net/rpc/server/baseserver.go +++ b/net/rpc/server/baseserver.go @@ -2,7 +2,7 @@ package server import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" + "github.com/anytypeio/any-sync/net/secureservice" "github.com/zeebo/errs" "go.uber.org/zap" "io" diff --git a/common/net/rpc/server/drpcserver.go b/net/rpc/server/drpcserver.go similarity index 81% rename from common/net/rpc/server/drpcserver.go rename to net/rpc/server/drpcserver.go index ef8dc34b..0bc0cd71 100644 --- a/common/net/rpc/server/drpcserver.go +++ b/net/rpc/server/drpcserver.go @@ -2,11 +2,11 @@ package server import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/metric" + "github.com/anytypeio/any-sync/net" + "github.com/anytypeio/any-sync/net/secureservice" "github.com/prometheus/client_golang/prometheus" "storj.io/drpc" ) diff --git a/common/net/rpc/server/util.go b/net/rpc/server/util.go similarity index 100% rename from common/net/rpc/server/util.go rename to net/rpc/server/util.go diff --git a/common/net/rpc/server/util_windows.go b/net/rpc/server/util_windows.go similarity index 100% rename from common/net/rpc/server/util_windows.go rename to net/rpc/server/util_windows.go diff --git a/common/net/secureservice/basiclistener.go b/net/secureservice/basiclistener.go similarity index 86% rename from common/net/secureservice/basiclistener.go rename to net/secureservice/basiclistener.go index b645db7d..b7df9caa 100644 --- a/common/net/secureservice/basiclistener.go +++ b/net/secureservice/basiclistener.go @@ -2,7 +2,7 @@ package secureservice import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/timeoutconn" + "github.com/anytypeio/any-sync/net/timeoutconn" "net" "time" ) diff --git a/common/net/secureservice/secureservice.go b/net/secureservice/secureservice.go similarity index 83% rename from common/net/secureservice/secureservice.go rename to net/secureservice/secureservice.go index a6dd7e06..814df847 100644 --- a/common/net/secureservice/secureservice.go +++ b/net/secureservice/secureservice.go @@ -2,10 +2,10 @@ package secureservice import ( "context" - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" + commonaccount "github.com/anytypeio/any-sync/accountservice" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/util/keys" "github.com/libp2p/go-libp2p/core/crypto" "github.com/libp2p/go-libp2p/core/sec" libp2ptls "github.com/libp2p/go-libp2p/p2p/security/tls" diff --git a/common/net/secureservice/tlslistener.go b/net/secureservice/tlslistener.go similarity index 89% rename from common/net/secureservice/tlslistener.go rename to net/secureservice/tlslistener.go index cb7d24d6..1fb6495f 100644 --- a/common/net/secureservice/tlslistener.go +++ b/net/secureservice/tlslistener.go @@ -2,8 +2,8 @@ package secureservice import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/timeoutconn" + "github.com/anytypeio/any-sync/net/peer" + "github.com/anytypeio/any-sync/net/timeoutconn" "github.com/libp2p/go-libp2p/core/crypto" libp2ptls "github.com/libp2p/go-libp2p/p2p/security/tls" "net" diff --git a/common/net/timeoutconn/conn.go b/net/timeoutconn/conn.go similarity index 100% rename from common/net/timeoutconn/conn.go rename to net/timeoutconn/conn.go diff --git a/node/Makefile b/node/Makefile deleted file mode 100644 index 167abd00..00000000 --- a/node/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -.PHONY: proto build test -export GOPRIVATE=github.com/anytypeio - -build: - @$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/node)) - go build -v -o ../bin/anytype-node -ldflags "$(FLAGS)" github.com/anytypeio/go-anytype-infrastructure-experiments/node/cmd - -test: - go test ./... --cover - -proto: - @$(eval GOGO_START := GOGO_NO_UNDERSCORE=1 GOGO_EXPORT_ONEOF_INTERFACE=1) - $(GOGO_START) protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. debug/nodedebugrpc/nodedebugrpcproto/protos/*.proto \ No newline at end of file diff --git a/node/account/service.go b/node/account/service.go deleted file mode 100644 index 7291c82c..00000000 --- a/node/account/service.go +++ /dev/null @@ -1,71 +0,0 @@ -package account - -import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/config" -) - -type service struct { - accountData *accountdata.AccountData - peerId string -} - -func (s *service) Account() *accountdata.AccountData { - return s.accountData -} - -func New() app.Component { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - acc := a.MustComponent(config.CName).(commonaccount.ConfigGetter).GetAccount() - - decodedEncryptionKey, err := keys.DecodeKeyFromString( - acc.EncryptionKey, - encryptionkey.NewEncryptionRsaPrivKeyFromBytes, - nil) - if err != nil { - return err - } - - decodedSigningKey, err := keys.DecodeKeyFromString( - acc.SigningKey, - signingkey.NewSigningEd25519PrivKeyFromBytes, - nil) - if err != nil { - return err - } - - decodedPeerKey, err := keys.DecodeKeyFromString( - acc.PeerKey, - signingkey.NewSigningEd25519PrivKeyFromBytes, - nil) - if err != nil { - return err - } - - identity, err := decodedSigningKey.GetPublic().Raw() - if err != nil { - return err - } - - s.accountData = &accountdata.AccountData{ - Identity: identity, - PeerKey: decodedPeerKey, - SignKey: decodedSigningKey, - EncKey: decodedEncryptionKey, - PeerId: acc.PeerId, - } - - return nil -} - -func (s *service) Name() (name string) { - return commonaccount.CName -} diff --git a/node/acl/service.go b/node/acl/service.go deleted file mode 100644 index b7845a6e..00000000 --- a/node/acl/service.go +++ /dev/null @@ -1,134 +0,0 @@ -package acl - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync/synchandler" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusclient" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - "time" -) - -const CName = "node.acl" - -var log = logger.NewNamed(CName) - -func New() Service { - return &service{} -} - -type Service interface { - CreateLog(ctx context.Context, aclId string, rawRec *aclrecordproto.RawAclRecord) (firstRecId string, err error) - AddRecord(ctx context.Context, aclId string, rawRec *aclrecordproto.RawAclRecord) (id string, err error) - Watch(ctx context.Context, spaceId, aclId string, h synchandler.SyncHandler) (err error) - UnWatch(aclId string) (err error) - app.Component -} - -type service struct { - consService consensusclient.Service - account accountservice.Service -} - -func (s *service) Init(a *app.App) (err error) { - s.consService = a.MustComponent(consensusclient.CName).(consensusclient.Service) - s.account = a.MustComponent(accountservice.CName).(accountservice.Service) - return -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) CreateLog(ctx context.Context, aclId string, rawRec *aclrecordproto.RawAclRecord) (firstRecId string, err error) { - logId, err := cidToByte(aclId) - if err != nil { - return - } - recId, _, payload, err := s.signAndMarshal(rawRec) - if err != nil { - return - } - if err = s.consService.AddLog(ctx, &consensusproto.Log{ - Id: logId, - Records: []*consensusproto.Record{ - { - Id: recId, - Payload: payload, - CreatedUnix: uint64(time.Now().Unix()), - }, - }, - }); err != nil { - return - } - return cidToString(recId) -} - -func (s *service) AddRecord(ctx context.Context, aclId string, rawRec *aclrecordproto.RawAclRecord) (id string, err error) { - logId, err := cidToByte(aclId) - if err != nil { - return - } - - recId, prevId, payload, err := s.signAndMarshal(rawRec) - if err != nil { - return - } - if err = s.consService.AddRecord(ctx, logId, &consensusproto.Record{ - Id: recId, - PrevId: prevId, - Payload: payload, - CreatedUnix: uint64(time.Now().Unix()), - }); err != nil { - return - } - return cidToString(recId) -} - -func (s *service) Watch(ctx context.Context, spaceId, aclId string, h synchandler.SyncHandler) (err error) { - w, err := newWatcher(spaceId, aclId, h) - if err != nil { - return - } - if err = s.consService.Watch(w.logId, w); err != nil { - return err - } - return w.Ready(ctx) -} - -func (s *service) UnWatch(aclId string) (err error) { - logId, err := cidToByte(aclId) - if err != nil { - return - } - return s.consService.UnWatch(logId) -} - -func (s *service) signAndMarshal(rawRec *aclrecordproto.RawAclRecord) (recId, prevId, payload []byte, err error) { - var rec = &aclrecordproto.AclRecord{} - if err = rec.Unmarshal(rawRec.Payload); err != nil { - return - } - if rec.PrevId != "" { - if prevId, err = cidToByte(rec.PrevId); err != nil { - return - } - } - rawRec.AcceptorIdentity = s.account.Account().Identity - if rawRec.AcceptorSignature, err = s.account.Account().SignKey.Sign(rawRec.Payload); err != nil { - return - } - if payload, err = rawRec.Marshal(); err != nil { - return - } - recCid, err := cidutil.NewCidFromBytes(payload) - if err != nil { - return - } - recId, err = cidToByte(recCid) - return -} diff --git a/node/acl/service_test.go b/node/acl/service_test.go deleted file mode 100644 index ca25f8f1..00000000 --- a/node/acl/service_test.go +++ /dev/null @@ -1,195 +0,0 @@ -package acl - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/testutil/accounttest" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusclient" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusclient/mock_consensusclient" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - "github.com/golang/mock/gomock" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "testing" - "time" -) - -var ctx = context.Background() - -func TestService_CreateLog(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - var clog *consensusproto.Log - fx.mockClient.EXPECT().AddLog(ctx, gomock.Any()).Do(func(ctx context.Context, l *consensusproto.Log) { - clog = l - }) - - aclId, _ := cidutil.NewCidFromBytes([]byte("aclId")) - - rec := &aclrecordproto.AclRecord{ - PrevId: "", - Identity: fx.account.Account().Identity, - Data: []byte{'1', '2', '3'}, - Timestamp: time.Now().Unix(), - } - pl, _ := rec.Marshal() - - firstRecId, err := fx.CreateLog(ctx, aclId, &aclrecordproto.RawAclRecord{ - Payload: pl, - }) - require.NoError(t, err) - aclIdBytes, _ := cidToByte(aclId) - firstRecIdBytes, _ := cidToByte(firstRecId) - assert.Equal(t, aclIdBytes, clog.Id) - assert.NotEmpty(t, firstRecIdBytes) - require.Len(t, clog.Records, 1) - - var resultRawAcl = &aclrecordproto.RawAclRecord{} - require.NoError(t, resultRawAcl.Unmarshal(clog.Records[0].Payload)) - valid, err := fx.account.Account().SignKey.GetPublic().Verify(resultRawAcl.Payload, resultRawAcl.AcceptorSignature) - require.NoError(t, err) - require.True(t, valid) -} - -func TestService_AddRecord(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - var clog *consensusproto.Log - fx.mockClient.EXPECT().AddLog(ctx, gomock.Any()).Do(func(ctx context.Context, l *consensusproto.Log) { - clog = l - }) - - aclId, _ := cidutil.NewCidFromBytes([]byte("aclId")) - - rec := &aclrecordproto.AclRecord{ - PrevId: "", - Identity: fx.account.Account().Identity, - Data: []byte{'1', '2', '3'}, - Timestamp: time.Now().Unix(), - } - pl, _ := rec.Marshal() - - firstRecId, err := fx.CreateLog(ctx, aclId, &aclrecordproto.RawAclRecord{ - Payload: pl, - }) - require.NoError(t, err) - aclIdBytes, _ := cidToByte(aclId) - firstRecIdBytes, _ := cidToByte(firstRecId) - assert.Equal(t, aclIdBytes, clog.Id) - assert.NotEmpty(t, firstRecIdBytes) - var addRec *consensusproto.Record - fx.mockClient.EXPECT().AddRecord(ctx, aclIdBytes, gomock.Any()).Do(func(ctx context.Context, logId []byte, rec *consensusproto.Record) { - addRec = rec - }) - rec = &aclrecordproto.AclRecord{ - PrevId: firstRecId, - Identity: fx.account.Account().Identity, - Data: []byte{'1', '2', '3', '4'}, - Timestamp: time.Now().Unix(), - } - pl, _ = rec.Marshal() - - newRecId, err := fx.AddRecord(ctx, aclId, &aclrecordproto.RawAclRecord{ - Payload: pl, - }) - require.NoError(t, err) - assert.NotEmpty(t, newRecId) - - assert.Equal(t, firstRecIdBytes, addRec.PrevId) - -} - -func TestService_Watch(t *testing.T) { - t.Run("remote error", func(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - var expErr = fmt.Errorf("error") - aclId, _ := cidutil.NewCidFromBytes([]byte("aclId")) - aclIdBytes, _ := cidToByte(aclId) - fx.mockClient.EXPECT().Watch(aclIdBytes, gomock.Any()).Do(func(aid []byte, w consensusclient.Watcher) { - assert.Equal(t, aclIdBytes, aid) - go func() { - time.Sleep(time.Millisecond * 10) - w.AddConsensusError(expErr) - }() - }) - - th := &testHandler{} - err := fx.Watch(ctx, "123", aclId, th) - assert.Equal(t, expErr, err) - }) - t.Run("success", func(t *testing.T) { - fx := newFixture(t) - defer fx.Finish(t) - aclId, _ := cidutil.NewCidFromBytes([]byte("aclId")) - aclIdBytes, _ := cidToByte(aclId) - fx.mockClient.EXPECT().Watch(aclIdBytes, gomock.Any()).Do(func(aid []byte, w consensusclient.Watcher) { - assert.Equal(t, aclIdBytes, aid) - go func() { - time.Sleep(time.Millisecond * 10) - r1cid, _ := cidutil.NewCidFromBytes([]byte("r1")) - r2cid, _ := cidutil.NewCidFromBytes([]byte("r2")) - r1cidB, _ := cidToByte(r1cid) - r2cidB, _ := cidToByte(r2cid) - w.AddConsensusRecords([]*consensusproto.Record{ - { - Id: r2cidB, - PrevId: r1cidB, - Payload: []byte("p1"), - }, - { - Id: r1cidB, - Payload: []byte("p1"), - }, - }) - }() - }) - - th := &testHandler{} - err := fx.Watch(ctx, "123", aclId, th) - require.NoError(t, err) - }) -} - -func newFixture(t *testing.T) *fixture { - fx := &fixture{ - a: new(app.App), - ctrl: gomock.NewController(t), - account: &accounttest.AccountTestService{}, - } - fx.mockClient = mock_consensusclient.NewMockService(fx.ctrl) - fx.mockClient.EXPECT().Name().Return(consensusclient.CName).AnyTimes() - fx.mockClient.EXPECT().Init(gomock.Any()).AnyTimes() - fx.mockClient.EXPECT().Run(gomock.Any()).AnyTimes() - fx.mockClient.EXPECT().Close(gomock.Any()).AnyTimes() - fx.Service = New() - fx.a.Register(fx.account).Register(fx.mockClient).Register(fx.Service) - require.NoError(t, fx.a.Start(ctx)) - return fx -} - -type fixture struct { - Service - mockClient *mock_consensusclient.MockService - ctrl *gomock.Controller - a *app.App - account *accounttest.AccountTestService -} - -func (fx *fixture) Finish(t *testing.T) { - require.NoError(t, fx.a.Close(ctx)) - fx.ctrl.Finish() -} - -type testHandler struct { - req *spacesyncproto.ObjectSyncMessage -} - -func (t *testHandler) HandleMessage(ctx context.Context, senderId string, request *spacesyncproto.ObjectSyncMessage) (err error) { - t.req = request - return -} diff --git a/node/acl/util.go b/node/acl/util.go deleted file mode 100644 index c6784a33..00000000 --- a/node/acl/util.go +++ /dev/null @@ -1,19 +0,0 @@ -package acl - -import "github.com/ipfs/go-cid" - -func cidToString(b []byte) (s string, err error) { - rcid, err := cid.Cast(b) - if err != nil { - return - } - return rcid.String(), nil -} - -func cidToByte(s string) (b []byte, err error) { - rcid, err := cid.Decode(s) - if err != nil { - return - } - return rcid.Bytes(), nil -} diff --git a/node/acl/util_test.go b/node/acl/util_test.go deleted file mode 100644 index 1ee3b056..00000000 --- a/node/acl/util_test.go +++ /dev/null @@ -1,16 +0,0 @@ -package acl - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/cidutil" - "github.com/stretchr/testify/assert" - "testing" -) - -func TestCIDLen(t *testing.T) { - s, _ := cidutil.NewCidFromBytes([]byte("some data")) - t.Log(s, len(s)) - b, _ := cidToByte(s) - t.Log(b, len(b)) - s2, _ := cidToString(b) - assert.Equal(t, s, s2) -} diff --git a/node/acl/watcher.go b/node/acl/watcher.go deleted file mode 100644 index b1f9084c..00000000 --- a/node/acl/watcher.go +++ /dev/null @@ -1,93 +0,0 @@ -package acl - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/objectsync/synchandler" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" - "go.uber.org/zap" - "sync" -) - -func newWatcher(spaceId, aclId string, h synchandler.SyncHandler) (w *watcher, err error) { - w = &watcher{ - aclId: aclId, - spaceId: spaceId, - handler: h, - ready: make(chan struct{}), - } - if w.logId, err = cidToByte(aclId); err != nil { - return nil, err - } - return -} - -type watcher struct { - spaceId string - aclId string - logId []byte - handler synchandler.SyncHandler - ready chan struct{} - isReady sync.Once - err error -} - -func (w *watcher) AddConsensusRecords(recs []*consensusproto.Record) { - w.isReady.Do(func() { - close(w.ready) - }) - records := make([]*aclrecordproto.RawAclRecordWithId, 0, len(recs)) - - for _, rec := range recs { - recId, err := cidToString(rec.Id) - if err != nil { - log.Error("received invalid id from consensus node", zap.Error(err)) - continue - } - records = append(records, &aclrecordproto.RawAclRecordWithId{ - Payload: rec.Payload, - Id: recId, - }) - } - - aclReq := &aclrecordproto.AclSyncMessage{ - Content: &aclrecordproto.AclSyncContentValue{ - Value: &aclrecordproto.AclSyncContentValue_AddRecords{ - AddRecords: &aclrecordproto.AclAddRecords{ - Records: records, - }, - }, - }, - } - payload, err := aclReq.Marshal() - if err != nil { - log.Error("acl payload marshal error", zap.Error(err)) - return - } - req := &spacesyncproto.ObjectSyncMessage{ - SpaceId: w.spaceId, - Payload: payload, - ObjectId: w.aclId, - } - - if err = w.handler.HandleMessage(context.TODO(), "", req); err != nil { - log.Warn("handle message error", zap.Error(err)) - } -} - -func (w *watcher) AddConsensusError(err error) { - w.isReady.Do(func() { - w.err = err - close(w.ready) - }) -} - -func (w *watcher) Ready(ctx context.Context) (err error) { - select { - case <-w.ready: - return w.err - case <-ctx.Done(): - return ctx.Err() - } -} diff --git a/node/cmd/node.go b/node/cmd/node.go deleted file mode 100644 index fe2d0433..00000000 --- a/node/cmd/node.go +++ /dev/null @@ -1,107 +0,0 @@ -package main - -import ( - "context" - "flag" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/dialer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/account" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/debug/nodedebugrpc" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/nodespace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/nodespace/nodecache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/storage" - "go.uber.org/zap" - "net/http" - _ "net/http/pprof" - "os" - "os/signal" - "syscall" - "time" -) - -var log = logger.NewNamed("main") - -var ( - flagConfigFile = flag.String("c", "etc/config.yml", "path to config file") - flagVersion = flag.Bool("v", false, "show version and exit") - flagHelp = flag.Bool("h", false, "show help and exit") -) - -func main() { - flag.Parse() - - if *flagVersion { - fmt.Println(app.VersionDescription()) - return - } - if *flagHelp { - flag.PrintDefaults() - return - } - - if debug, ok := os.LookupEnv("ANYPROF"); ok && debug != "" { - go func() { - http.ListenAndServe(debug, nil) - }() - } - - // create app - ctx := context.Background() - a := new(app.App) - - // open config file - conf, err := config.NewFromFile(*flagConfigFile) - if err != nil { - log.Fatal("can't open config file", zap.Error(err)) - } - - // bootstrap components - a.Register(conf) - Bootstrap(a) - - // start app - if err := a.Start(ctx); err != nil { - log.Fatal("can't start app", zap.Error(err)) - } - log.Info("app started", zap.String("version", a.Version())) - - // wait exit signal - exit := make(chan os.Signal, 1) - signal.Notify(exit, os.Interrupt, syscall.SIGKILL, syscall.SIGTERM, syscall.SIGQUIT) - sig := <-exit - log.Info("received exit signal, stop app...", zap.String("signal", fmt.Sprint(sig))) - - // close app - ctx, cancel := context.WithTimeout(ctx, time.Minute) - defer cancel() - if err := a.Close(ctx); err != nil { - log.Fatal("close error", zap.Error(err)) - } else { - log.Info("goodbye!") - } - time.Sleep(time.Second / 3) -} - -func Bootstrap(a *app.App) { - a.Register(account.New()). - Register(metric.New()). - Register(storage.New()). - Register(nodecache.New(200)). - Register(nodeconf.New()). - Register(secureservice.New()). - Register(dialer.New()). - Register(pool.New()). - Register(nodespace.New()). - Register(commonspace.New()). - Register(server.New()). - Register(nodedebugrpc.New()) -} diff --git a/node/config/config.go b/node/config/config.go deleted file mode 100644 index d5321eac..00000000 --- a/node/config/config.go +++ /dev/null @@ -1,75 +0,0 @@ -package config - -import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/metric" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/storage" - "gopkg.in/yaml.v3" - "os" -) - -const CName = "config" - -func NewFromFile(path string) (c *Config, err error) { - c = &Config{} - data, err := os.ReadFile(path) - if err != nil { - return nil, err - } - if err = yaml.Unmarshal(data, c); err != nil { - return nil, err - } - return -} - -type Config struct { - GrpcServer net.Config `yaml:"grpcServer"` - Account commonaccount.Config `yaml:"account"` - APIServer net.Config `yaml:"apiServer"` - Nodes []nodeconf.NodeConfig `yaml:"nodes"` - Space commonspace.Config `yaml:"space"` - Storage storage.Config `yaml:"storage"` - Metric metric.Config `yaml:"metric"` - Log logger.Config `yaml:"log"` -} - -func (c *Config) Init(a *app.App) (err error) { - return -} - -func (c Config) Name() (name string) { - return CName -} - -func (c Config) GetNet() net.Config { - return c.GrpcServer -} - -func (c Config) GetDebugNet() net.Config { - return c.APIServer -} - -func (c Config) GetAccount() commonaccount.Config { - return c.Account -} - -func (c Config) GetMetric() metric.Config { - return c.Metric -} - -func (c Config) GetSpace() commonspace.Config { - return c.Space -} - -func (c Config) GetStorage() storage.Config { - return c.Storage -} - -func (c Config) GetNodes() []nodeconf.NodeConfig { - return c.Nodes -} diff --git a/node/debug/nodedebugrpc/nodedebugrpc.go b/node/debug/nodedebugrpc/nodedebugrpc.go deleted file mode 100644 index f2340cf5..00000000 --- a/node/debug/nodedebugrpc/nodedebugrpc.go +++ /dev/null @@ -1,76 +0,0 @@ -package nodedebugrpc - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secureservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/debug/nodedebugrpc/nodedebugrpcproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/nodespace" - nodestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/node/storage" - "storj.io/drpc" -) - -const CName = "node.debug.nodedebugrpc" - -var log = logger.NewNamed(CName) - -func New() NodeDebugRpc { - return &nodeDebugRpc{BaseDrpcServer: server.NewBaseDrpcServer()} -} - -type configGetter interface { - GetDebugNet() net.Config -} - -type NodeDebugRpc interface { - app.ComponentRunnable - drpc.Mux -} - -type nodeDebugRpc struct { - transport secureservice.SecureService - cfg net.Config - treeCache treegetter.TreeGetter - spaceService nodespace.Service - storageService nodestorage.NodeStorage - *server.BaseDrpcServer -} - -func (s *nodeDebugRpc) Init(a *app.App) (err error) { - s.treeCache = a.MustComponent(treegetter.CName).(treegetter.TreeGetter) - s.spaceService = a.MustComponent(nodespace.CName).(nodespace.Service) - s.storageService = a.MustComponent(spacestorage.CName).(nodestorage.NodeStorage) - s.cfg = a.MustComponent("config").(configGetter).GetDebugNet() - s.transport = a.MustComponent(secureservice.CName).(secureservice.SecureService) - return nil -} - -func (s *nodeDebugRpc) Name() (name string) { - return CName -} - -func (s *nodeDebugRpc) Run(ctx context.Context) (err error) { - params := server.Params{ - BufferSizeMb: s.cfg.Stream.MaxMsgSizeMb, - TimeoutMillis: s.cfg.Stream.TimeoutMilliseconds, - ListenAddrs: s.cfg.Server.ListenAddrs, - Wrapper: func(handler drpc.Handler) drpc.Handler { - return handler - }, - Converter: s.transport.BasicListener, - } - err = s.BaseDrpcServer.Run(ctx, params) - if err != nil { - return - } - return nodedebugrpcproto.DRPCRegisterNodeApi(s, &rpcHandler{s.treeCache, s.spaceService, s.storageService}) -} - -func (s *nodeDebugRpc) Close(ctx context.Context) (err error) { - return s.BaseDrpcServer.Close(ctx) -} diff --git a/node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc.pb.go b/node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc.pb.go deleted file mode 100644 index b7895afd..00000000 --- a/node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc.pb.go +++ /dev/null @@ -1,1868 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: debug/nodedebugrpc/nodedebugrpcproto/protos/nodedebugrpc.proto - -package nodedebugrpcproto - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type DumpTreeRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - DocumentId string `protobuf:"bytes,2,opt,name=documentId,proto3" json:"documentId,omitempty"` -} - -func (m *DumpTreeRequest) Reset() { *m = DumpTreeRequest{} } -func (m *DumpTreeRequest) String() string { return proto.CompactTextString(m) } -func (*DumpTreeRequest) ProtoMessage() {} -func (*DumpTreeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{0} -} -func (m *DumpTreeRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DumpTreeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DumpTreeRequest.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 *DumpTreeRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DumpTreeRequest.Merge(m, src) -} -func (m *DumpTreeRequest) XXX_Size() int { - return m.Size() -} -func (m *DumpTreeRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DumpTreeRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DumpTreeRequest proto.InternalMessageInfo - -func (m *DumpTreeRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *DumpTreeRequest) GetDocumentId() string { - if m != nil { - return m.DocumentId - } - return "" -} - -type DumpTreeResponse struct { - Dump string `protobuf:"bytes,1,opt,name=dump,proto3" json:"dump,omitempty"` -} - -func (m *DumpTreeResponse) Reset() { *m = DumpTreeResponse{} } -func (m *DumpTreeResponse) String() string { return proto.CompactTextString(m) } -func (*DumpTreeResponse) ProtoMessage() {} -func (*DumpTreeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{1} -} -func (m *DumpTreeResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DumpTreeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DumpTreeResponse.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 *DumpTreeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DumpTreeResponse.Merge(m, src) -} -func (m *DumpTreeResponse) XXX_Size() int { - return m.Size() -} -func (m *DumpTreeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DumpTreeResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_DumpTreeResponse proto.InternalMessageInfo - -func (m *DumpTreeResponse) GetDump() string { - if m != nil { - return m.Dump - } - return "" -} - -type AllTreesRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` -} - -func (m *AllTreesRequest) Reset() { *m = AllTreesRequest{} } -func (m *AllTreesRequest) String() string { return proto.CompactTextString(m) } -func (*AllTreesRequest) ProtoMessage() {} -func (*AllTreesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{2} -} -func (m *AllTreesRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllTreesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllTreesRequest.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 *AllTreesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTreesRequest.Merge(m, src) -} -func (m *AllTreesRequest) XXX_Size() int { - return m.Size() -} -func (m *AllTreesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AllTreesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AllTreesRequest proto.InternalMessageInfo - -func (m *AllTreesRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -type Tree struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Heads []string `protobuf:"bytes,2,rep,name=heads,proto3" json:"heads,omitempty"` -} - -func (m *Tree) Reset() { *m = Tree{} } -func (m *Tree) String() string { return proto.CompactTextString(m) } -func (*Tree) ProtoMessage() {} -func (*Tree) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{3} -} -func (m *Tree) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Tree.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 *Tree) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tree.Merge(m, src) -} -func (m *Tree) XXX_Size() int { - return m.Size() -} -func (m *Tree) XXX_DiscardUnknown() { - xxx_messageInfo_Tree.DiscardUnknown(m) -} - -var xxx_messageInfo_Tree proto.InternalMessageInfo - -func (m *Tree) GetId() string { - if m != nil { - return m.Id - } - return "" -} - -func (m *Tree) GetHeads() []string { - if m != nil { - return m.Heads - } - return nil -} - -type AllTreesResponse struct { - Trees []*Tree `protobuf:"bytes,1,rep,name=trees,proto3" json:"trees,omitempty"` -} - -func (m *AllTreesResponse) Reset() { *m = AllTreesResponse{} } -func (m *AllTreesResponse) String() string { return proto.CompactTextString(m) } -func (*AllTreesResponse) ProtoMessage() {} -func (*AllTreesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{4} -} -func (m *AllTreesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllTreesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllTreesResponse.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 *AllTreesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTreesResponse.Merge(m, src) -} -func (m *AllTreesResponse) XXX_Size() int { - return m.Size() -} -func (m *AllTreesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AllTreesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_AllTreesResponse proto.InternalMessageInfo - -func (m *AllTreesResponse) GetTrees() []*Tree { - if m != nil { - return m.Trees - } - return nil -} - -type AllSpacesRequest struct { -} - -func (m *AllSpacesRequest) Reset() { *m = AllSpacesRequest{} } -func (m *AllSpacesRequest) String() string { return proto.CompactTextString(m) } -func (*AllSpacesRequest) ProtoMessage() {} -func (*AllSpacesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{5} -} -func (m *AllSpacesRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllSpacesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllSpacesRequest.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 *AllSpacesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllSpacesRequest.Merge(m, src) -} -func (m *AllSpacesRequest) XXX_Size() int { - return m.Size() -} -func (m *AllSpacesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AllSpacesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AllSpacesRequest proto.InternalMessageInfo - -type AllSpacesResponse struct { - SpaceIds []string `protobuf:"bytes,1,rep,name=spaceIds,proto3" json:"spaceIds,omitempty"` -} - -func (m *AllSpacesResponse) Reset() { *m = AllSpacesResponse{} } -func (m *AllSpacesResponse) String() string { return proto.CompactTextString(m) } -func (*AllSpacesResponse) ProtoMessage() {} -func (*AllSpacesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{6} -} -func (m *AllSpacesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AllSpacesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AllSpacesResponse.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 *AllSpacesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllSpacesResponse.Merge(m, src) -} -func (m *AllSpacesResponse) XXX_Size() int { - return m.Size() -} -func (m *AllSpacesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AllSpacesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_AllSpacesResponse proto.InternalMessageInfo - -func (m *AllSpacesResponse) GetSpaceIds() []string { - if m != nil { - return m.SpaceIds - } - return nil -} - -type TreeParamsRequest struct { - SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` - DocumentId string `protobuf:"bytes,2,opt,name=documentId,proto3" json:"documentId,omitempty"` -} - -func (m *TreeParamsRequest) Reset() { *m = TreeParamsRequest{} } -func (m *TreeParamsRequest) String() string { return proto.CompactTextString(m) } -func (*TreeParamsRequest) ProtoMessage() {} -func (*TreeParamsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{7} -} -func (m *TreeParamsRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TreeParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TreeParamsRequest.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 *TreeParamsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TreeParamsRequest.Merge(m, src) -} -func (m *TreeParamsRequest) XXX_Size() int { - return m.Size() -} -func (m *TreeParamsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_TreeParamsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_TreeParamsRequest proto.InternalMessageInfo - -func (m *TreeParamsRequest) GetSpaceId() string { - if m != nil { - return m.SpaceId - } - return "" -} - -func (m *TreeParamsRequest) GetDocumentId() string { - if m != nil { - return m.DocumentId - } - return "" -} - -type TreeParamsResponse struct { - RootId string `protobuf:"bytes,1,opt,name=rootId,proto3" json:"rootId,omitempty"` - HeadIds []string `protobuf:"bytes,2,rep,name=headIds,proto3" json:"headIds,omitempty"` -} - -func (m *TreeParamsResponse) Reset() { *m = TreeParamsResponse{} } -func (m *TreeParamsResponse) String() string { return proto.CompactTextString(m) } -func (*TreeParamsResponse) ProtoMessage() {} -func (*TreeParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_783a24b01ebd5381, []int{8} -} -func (m *TreeParamsResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TreeParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TreeParamsResponse.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 *TreeParamsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_TreeParamsResponse.Merge(m, src) -} -func (m *TreeParamsResponse) XXX_Size() int { - return m.Size() -} -func (m *TreeParamsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_TreeParamsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_TreeParamsResponse proto.InternalMessageInfo - -func (m *TreeParamsResponse) GetRootId() string { - if m != nil { - return m.RootId - } - return "" -} - -func (m *TreeParamsResponse) GetHeadIds() []string { - if m != nil { - return m.HeadIds - } - return nil -} - -func init() { - proto.RegisterType((*DumpTreeRequest)(nil), "nodeapi.DumpTreeRequest") - proto.RegisterType((*DumpTreeResponse)(nil), "nodeapi.DumpTreeResponse") - proto.RegisterType((*AllTreesRequest)(nil), "nodeapi.AllTreesRequest") - proto.RegisterType((*Tree)(nil), "nodeapi.Tree") - proto.RegisterType((*AllTreesResponse)(nil), "nodeapi.AllTreesResponse") - proto.RegisterType((*AllSpacesRequest)(nil), "nodeapi.AllSpacesRequest") - proto.RegisterType((*AllSpacesResponse)(nil), "nodeapi.AllSpacesResponse") - proto.RegisterType((*TreeParamsRequest)(nil), "nodeapi.TreeParamsRequest") - proto.RegisterType((*TreeParamsResponse)(nil), "nodeapi.TreeParamsResponse") -} - -func init() { - proto.RegisterFile("debug/nodedebugrpc/nodedebugrpcproto/protos/nodedebugrpc.proto", fileDescriptor_783a24b01ebd5381) -} - -var fileDescriptor_783a24b01ebd5381 = []byte{ - // 406 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xcf, 0x6b, 0xdb, 0x30, - 0x18, 0x8d, 0x9d, 0x9f, 0xfe, 0xc6, 0x96, 0x44, 0x8c, 0xe1, 0x79, 0x60, 0x82, 0x36, 0x46, 0x60, - 0x23, 0x81, 0xec, 0xb0, 0x5b, 0x42, 0xc2, 0x36, 0x08, 0xa3, 0xa5, 0xb8, 0x3d, 0xf5, 0xe6, 0x44, - 0xa2, 0x35, 0xc4, 0x91, 0x6a, 0xd9, 0xff, 0x47, 0x4f, 0xfd, 0x9b, 0x7a, 0xcc, 0xb1, 0xc7, 0x92, - 0xfc, 0x23, 0x45, 0xb2, 0xec, 0xd8, 0x69, 0xa0, 0x85, 0x5e, 0x6c, 0xbd, 0xef, 0xc9, 0xef, 0x7b, - 0xfa, 0x9e, 0x0c, 0x63, 0x42, 0x17, 0xc9, 0xd5, 0x70, 0xcd, 0x08, 0x55, 0xab, 0x88, 0x2f, 0x4b, - 0x80, 0x47, 0x2c, 0x66, 0x43, 0xf5, 0x14, 0x25, 0x62, 0xa0, 0x6a, 0xa8, 0x29, 0x6b, 0x3e, 0x0f, - 0xf0, 0x7f, 0x68, 0xff, 0x49, 0x42, 0x7e, 0x11, 0x51, 0xea, 0xd1, 0x9b, 0x84, 0x8a, 0x18, 0xd9, - 0xd0, 0x14, 0xdc, 0x5f, 0xd2, 0x39, 0xb1, 0x8d, 0x9e, 0xd1, 0xb7, 0xbc, 0x0c, 0x22, 0x17, 0x80, - 0xb0, 0x65, 0x12, 0xd2, 0x75, 0x3c, 0x27, 0xb6, 0xa9, 0xc8, 0x42, 0x05, 0x7f, 0x87, 0xce, 0x5e, - 0x4c, 0x70, 0xb6, 0x16, 0x14, 0x21, 0xa8, 0x91, 0x24, 0xe4, 0x5a, 0x4a, 0xad, 0xf1, 0x0f, 0x68, - 0x4f, 0x57, 0x2b, 0xb9, 0x4d, 0xbc, 0xd8, 0x14, 0xff, 0x84, 0x9a, 0xdc, 0x89, 0x3e, 0x80, 0x19, - 0x64, 0xa4, 0x19, 0x10, 0xf4, 0x11, 0xea, 0xd7, 0xd4, 0x27, 0xc2, 0x36, 0x7b, 0xd5, 0xbe, 0xe5, - 0xa5, 0x00, 0xff, 0x86, 0xce, 0x5e, 0x5a, 0x5b, 0xf8, 0x0a, 0xf5, 0x58, 0x16, 0x6c, 0xa3, 0x57, - 0xed, 0xbf, 0x1b, 0xbd, 0x1f, 0xe8, 0xc3, 0x0f, 0x94, 0xd1, 0x94, 0xc3, 0x48, 0x7d, 0x78, 0x2e, - 0x9b, 0x66, 0xa6, 0xf0, 0x10, 0xba, 0x85, 0x9a, 0x56, 0x73, 0xa0, 0xa5, 0xad, 0xa5, 0x82, 0x96, - 0x97, 0x63, 0x7c, 0x02, 0x5d, 0xa9, 0x79, 0xe6, 0x47, 0x7e, 0x28, 0xde, 0x3e, 0xcf, 0x7f, 0x80, - 0x8a, 0x72, 0xda, 0xc0, 0x27, 0x68, 0x44, 0x8c, 0xc5, 0xb9, 0x9c, 0x46, 0xb2, 0x8f, 0x9c, 0xc1, - 0x3c, 0x1f, 0x49, 0x06, 0x47, 0x77, 0x26, 0x34, 0x4f, 0x19, 0xa1, 0x53, 0x1e, 0xa0, 0x09, 0xb4, - 0xb2, 0x8c, 0x90, 0x9d, 0x4f, 0xe2, 0xe0, 0x0e, 0x38, 0x9f, 0x8f, 0x30, 0xba, 0xfd, 0x5f, 0x80, - 0xbd, 0x29, 0xe4, 0x94, 0x86, 0x59, 0x3a, 0xb8, 0xf3, 0xe5, 0x28, 0xa7, 0x65, 0x26, 0xd0, 0xca, - 0x82, 0x2a, 0xf8, 0x38, 0xb8, 0x16, 0x05, 0x1f, 0xcf, 0x52, 0x9d, 0x81, 0x95, 0x87, 0x83, 0x4a, - 0xfb, 0x4a, 0x21, 0x3a, 0xce, 0x31, 0x2a, 0xd5, 0x98, 0x8d, 0xef, 0xb7, 0xae, 0xb1, 0xd9, 0xba, - 0xc6, 0xe3, 0xd6, 0x35, 0x6e, 0x77, 0x6e, 0x65, 0xb3, 0x73, 0x2b, 0x0f, 0x3b, 0xb7, 0x72, 0xf9, - 0xed, 0x35, 0x3f, 0xd8, 0xa2, 0xa1, 0x5e, 0xbf, 0x9e, 0x02, 0x00, 0x00, 0xff, 0xff, 0xac, 0x0e, - 0xb9, 0x90, 0x8f, 0x03, 0x00, 0x00, -} - -func (m *DumpTreeRequest) 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 *DumpTreeRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DumpTreeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.DocumentId) > 0 { - i -= len(m.DocumentId) - copy(dAtA[i:], m.DocumentId) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.DocumentId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DumpTreeResponse) 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 *DumpTreeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DumpTreeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Dump) > 0 { - i -= len(m.Dump) - copy(dAtA[i:], m.Dump) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.Dump))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AllTreesRequest) 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 *AllTreesRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllTreesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Tree) 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 *Tree) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Tree) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Heads) > 0 { - for iNdEx := len(m.Heads) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Heads[iNdEx]) - copy(dAtA[i:], m.Heads[iNdEx]) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.Heads[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AllTreesResponse) 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 *AllTreesResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllTreesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Trees) > 0 { - for iNdEx := len(m.Trees) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Trees[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintNodedebugrpc(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *AllSpacesRequest) 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 *AllSpacesRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllSpacesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *AllSpacesResponse) 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 *AllSpacesResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AllSpacesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.SpaceIds) > 0 { - for iNdEx := len(m.SpaceIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.SpaceIds[iNdEx]) - copy(dAtA[i:], m.SpaceIds[iNdEx]) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.SpaceIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *TreeParamsRequest) 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 *TreeParamsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TreeParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.DocumentId) > 0 { - i -= len(m.DocumentId) - copy(dAtA[i:], m.DocumentId) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.DocumentId))) - i-- - dAtA[i] = 0x12 - } - if len(m.SpaceId) > 0 { - i -= len(m.SpaceId) - copy(dAtA[i:], m.SpaceId) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.SpaceId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TreeParamsResponse) 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 *TreeParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TreeParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.HeadIds) > 0 { - for iNdEx := len(m.HeadIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.HeadIds[iNdEx]) - copy(dAtA[i:], m.HeadIds[iNdEx]) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.HeadIds[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.RootId) > 0 { - i -= len(m.RootId) - copy(dAtA[i:], m.RootId) - i = encodeVarintNodedebugrpc(dAtA, i, uint64(len(m.RootId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintNodedebugrpc(dAtA []byte, offset int, v uint64) int { - offset -= sovNodedebugrpc(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *DumpTreeRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - l = len(m.DocumentId) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - return n -} - -func (m *DumpTreeResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Dump) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - return n -} - -func (m *AllTreesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - return n -} - -func (m *Tree) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - if len(m.Heads) > 0 { - for _, s := range m.Heads { - l = len(s) - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - } - return n -} - -func (m *AllTreesResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Trees) > 0 { - for _, e := range m.Trees { - l = e.Size() - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - } - return n -} - -func (m *AllSpacesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *AllSpacesResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.SpaceIds) > 0 { - for _, s := range m.SpaceIds { - l = len(s) - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - } - return n -} - -func (m *TreeParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.SpaceId) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - l = len(m.DocumentId) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - return n -} - -func (m *TreeParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.RootId) - if l > 0 { - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - if len(m.HeadIds) > 0 { - for _, s := range m.HeadIds { - l = len(s) - n += 1 + l + sovNodedebugrpc(uint64(l)) - } - } - return n -} - -func sovNodedebugrpc(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozNodedebugrpc(x uint64) (n int) { - return sovNodedebugrpc(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *DumpTreeRequest) 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 ErrIntOverflowNodedebugrpc - } - 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: DumpTreeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DumpTreeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DocumentId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DocumentId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DumpTreeResponse) 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 ErrIntOverflowNodedebugrpc - } - 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: DumpTreeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DumpTreeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Dump", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Dump = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllTreesRequest) 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 ErrIntOverflowNodedebugrpc - } - 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: AllTreesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllTreesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Tree) 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 ErrIntOverflowNodedebugrpc - } - 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: Tree: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Tree: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Heads", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Heads = append(m.Heads, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllTreesResponse) 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 ErrIntOverflowNodedebugrpc - } - 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: AllTreesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllTreesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Trees", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Trees = append(m.Trees, &Tree{}) - if err := m.Trees[len(m.Trees)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllSpacesRequest) 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 ErrIntOverflowNodedebugrpc - } - 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: AllSpacesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllSpacesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AllSpacesResponse) 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 ErrIntOverflowNodedebugrpc - } - 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: AllSpacesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AllSpacesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceIds = append(m.SpaceIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TreeParamsRequest) 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 ErrIntOverflowNodedebugrpc - } - 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: TreeParamsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TreeParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SpaceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DocumentId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DocumentId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TreeParamsResponse) 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 ErrIntOverflowNodedebugrpc - } - 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: TreeParamsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TreeParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RootId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.RootId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HeadIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowNodedebugrpc - } - 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 ErrInvalidLengthNodedebugrpc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthNodedebugrpc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HeadIds = append(m.HeadIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipNodedebugrpc(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthNodedebugrpc - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipNodedebugrpc(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowNodedebugrpc - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowNodedebugrpc - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowNodedebugrpc - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthNodedebugrpc - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupNodedebugrpc - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthNodedebugrpc - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthNodedebugrpc = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowNodedebugrpc = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupNodedebugrpc = fmt.Errorf("proto: unexpected end of group") -) diff --git a/node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc_drpc.pb.go b/node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc_drpc.pb.go deleted file mode 100644 index 4981b9fd..00000000 --- a/node/debug/nodedebugrpc/nodedebugrpcproto/nodedebugrpc_drpc.pb.go +++ /dev/null @@ -1,233 +0,0 @@ -// Code generated by protoc-gen-go-drpc. DO NOT EDIT. -// protoc-gen-go-drpc version: v0.0.32 -// source: debug/nodedebugrpc/nodedebugrpcproto/protos/nodedebugrpc.proto - -package nodedebugrpcproto - -import ( - bytes "bytes" - context "context" - errors "errors" - jsonpb "github.com/gogo/protobuf/jsonpb" - proto "github.com/gogo/protobuf/proto" - drpc "storj.io/drpc" - drpcerr "storj.io/drpc/drpcerr" -) - -type drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto struct{} - -func (drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto) Marshal(msg drpc.Message) ([]byte, error) { - return proto.Marshal(msg.(proto.Message)) -} - -func (drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto) Unmarshal(buf []byte, msg drpc.Message) error { - return proto.Unmarshal(buf, msg.(proto.Message)) -} - -func (drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto) JSONMarshal(msg drpc.Message) ([]byte, error) { - var buf bytes.Buffer - err := new(jsonpb.Marshaler).Marshal(&buf, msg.(proto.Message)) - if err != nil { - return nil, err - } - return buf.Bytes(), nil -} - -func (drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto) JSONUnmarshal(buf []byte, msg drpc.Message) error { - return jsonpb.Unmarshal(bytes.NewReader(buf), msg.(proto.Message)) -} - -type DRPCNodeApiClient interface { - DRPCConn() drpc.Conn - - DumpTree(ctx context.Context, in *DumpTreeRequest) (*DumpTreeResponse, error) - TreeParams(ctx context.Context, in *TreeParamsRequest) (*TreeParamsResponse, error) - AllTrees(ctx context.Context, in *AllTreesRequest) (*AllTreesResponse, error) - AllSpaces(ctx context.Context, in *AllSpacesRequest) (*AllSpacesResponse, error) -} - -type drpcNodeApiClient struct { - cc drpc.Conn -} - -func NewDRPCNodeApiClient(cc drpc.Conn) DRPCNodeApiClient { - return &drpcNodeApiClient{cc} -} - -func (c *drpcNodeApiClient) DRPCConn() drpc.Conn { return c.cc } - -func (c *drpcNodeApiClient) DumpTree(ctx context.Context, in *DumpTreeRequest) (*DumpTreeResponse, error) { - out := new(DumpTreeResponse) - err := c.cc.Invoke(ctx, "/nodeapi.NodeApi/DumpTree", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcNodeApiClient) TreeParams(ctx context.Context, in *TreeParamsRequest) (*TreeParamsResponse, error) { - out := new(TreeParamsResponse) - err := c.cc.Invoke(ctx, "/nodeapi.NodeApi/TreeParams", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcNodeApiClient) AllTrees(ctx context.Context, in *AllTreesRequest) (*AllTreesResponse, error) { - out := new(AllTreesResponse) - err := c.cc.Invoke(ctx, "/nodeapi.NodeApi/AllTrees", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *drpcNodeApiClient) AllSpaces(ctx context.Context, in *AllSpacesRequest) (*AllSpacesResponse, error) { - out := new(AllSpacesResponse) - err := c.cc.Invoke(ctx, "/nodeapi.NodeApi/AllSpaces", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, in, out) - if err != nil { - return nil, err - } - return out, nil -} - -type DRPCNodeApiServer interface { - DumpTree(context.Context, *DumpTreeRequest) (*DumpTreeResponse, error) - TreeParams(context.Context, *TreeParamsRequest) (*TreeParamsResponse, error) - AllTrees(context.Context, *AllTreesRequest) (*AllTreesResponse, error) - AllSpaces(context.Context, *AllSpacesRequest) (*AllSpacesResponse, error) -} - -type DRPCNodeApiUnimplementedServer struct{} - -func (s *DRPCNodeApiUnimplementedServer) DumpTree(context.Context, *DumpTreeRequest) (*DumpTreeResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCNodeApiUnimplementedServer) TreeParams(context.Context, *TreeParamsRequest) (*TreeParamsResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCNodeApiUnimplementedServer) AllTrees(context.Context, *AllTreesRequest) (*AllTreesResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -func (s *DRPCNodeApiUnimplementedServer) AllSpaces(context.Context, *AllSpacesRequest) (*AllSpacesResponse, error) { - return nil, drpcerr.WithCode(errors.New("Unimplemented"), drpcerr.Unimplemented) -} - -type DRPCNodeApiDescription struct{} - -func (DRPCNodeApiDescription) NumMethods() int { return 4 } - -func (DRPCNodeApiDescription) Method(n int) (string, drpc.Encoding, drpc.Receiver, interface{}, bool) { - switch n { - case 0: - return "/nodeapi.NodeApi/DumpTree", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCNodeApiServer). - DumpTree( - ctx, - in1.(*DumpTreeRequest), - ) - }, DRPCNodeApiServer.DumpTree, true - case 1: - return "/nodeapi.NodeApi/TreeParams", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCNodeApiServer). - TreeParams( - ctx, - in1.(*TreeParamsRequest), - ) - }, DRPCNodeApiServer.TreeParams, true - case 2: - return "/nodeapi.NodeApi/AllTrees", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCNodeApiServer). - AllTrees( - ctx, - in1.(*AllTreesRequest), - ) - }, DRPCNodeApiServer.AllTrees, true - case 3: - return "/nodeapi.NodeApi/AllSpaces", drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}, - func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) { - return srv.(DRPCNodeApiServer). - AllSpaces( - ctx, - in1.(*AllSpacesRequest), - ) - }, DRPCNodeApiServer.AllSpaces, true - default: - return "", nil, nil, nil, false - } -} - -func DRPCRegisterNodeApi(mux drpc.Mux, impl DRPCNodeApiServer) error { - return mux.Register(impl, DRPCNodeApiDescription{}) -} - -type DRPCNodeApi_DumpTreeStream interface { - drpc.Stream - SendAndClose(*DumpTreeResponse) error -} - -type drpcNodeApi_DumpTreeStream struct { - drpc.Stream -} - -func (x *drpcNodeApi_DumpTreeStream) SendAndClose(m *DumpTreeResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCNodeApi_TreeParamsStream interface { - drpc.Stream - SendAndClose(*TreeParamsResponse) error -} - -type drpcNodeApi_TreeParamsStream struct { - drpc.Stream -} - -func (x *drpcNodeApi_TreeParamsStream) SendAndClose(m *TreeParamsResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCNodeApi_AllTreesStream interface { - drpc.Stream - SendAndClose(*AllTreesResponse) error -} - -type drpcNodeApi_AllTreesStream struct { - drpc.Stream -} - -func (x *drpcNodeApi_AllTreesStream) SendAndClose(m *AllTreesResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} - -type DRPCNodeApi_AllSpacesStream interface { - drpc.Stream - SendAndClose(*AllSpacesResponse) error -} - -type drpcNodeApi_AllSpacesStream struct { - drpc.Stream -} - -func (x *drpcNodeApi_AllSpacesStream) SendAndClose(m *AllSpacesResponse) error { - if err := x.MsgSend(m, drpcEncoding_File_debug_nodedebugrpc_nodedebugrpcproto_protos_nodedebugrpc_proto{}); err != nil { - return err - } - return x.CloseSend() -} diff --git a/node/debug/nodedebugrpc/nodedebugrpcproto/protos/nodedebugrpc.proto b/node/debug/nodedebugrpc/nodedebugrpcproto/protos/nodedebugrpc.proto deleted file mode 100644 index 0425bc61..00000000 --- a/node/debug/nodedebugrpc/nodedebugrpcproto/protos/nodedebugrpc.proto +++ /dev/null @@ -1,50 +0,0 @@ -syntax = "proto3"; -package nodeapi; - -option go_package = "debug/nodedebugrpc/nodedebugrpcproto"; - -service NodeApi { - rpc DumpTree(DumpTreeRequest) returns(DumpTreeResponse); - rpc TreeParams(TreeParamsRequest) returns(TreeParamsResponse); - rpc AllTrees(AllTreesRequest) returns(AllTreesResponse); - rpc AllSpaces(AllSpacesRequest) returns(AllSpacesResponse); -} - -message DumpTreeRequest { - string spaceId = 1; - string documentId = 2; -} - -message DumpTreeResponse { - string dump = 1; -} - -message AllTreesRequest { - string spaceId = 1; -} - -message Tree { - string id = 1; - repeated string heads = 2; -} - -message AllTreesResponse { - repeated Tree trees = 1; -} - -message AllSpacesRequest { -} - -message AllSpacesResponse { - repeated string spaceIds = 1; -} - -message TreeParamsRequest { - string spaceId = 1; - string documentId = 2; -} - -message TreeParamsResponse { - string rootId = 1; - repeated string headIds = 2; -} \ No newline at end of file diff --git a/node/debug/nodedebugrpc/rpchandler.go b/node/debug/nodedebugrpc/rpchandler.go deleted file mode 100644 index 6092cd70..00000000 --- a/node/debug/nodedebugrpc/rpchandler.go +++ /dev/null @@ -1,68 +0,0 @@ -package nodedebugrpc - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/debug/nodedebugrpc/nodedebugrpcproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/nodespace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/storage" -) - -type rpcHandler struct { - treeCache treegetter.TreeGetter - spaceService nodespace.Service - storageService storage.NodeStorage -} - -func (r *rpcHandler) DumpTree(ctx context.Context, request *nodedebugrpcproto.DumpTreeRequest) (resp *nodedebugrpcproto.DumpTreeResponse, err error) { - tree, err := r.treeCache.GetTree(context.Background(), request.SpaceId, request.DocumentId) - if err != nil { - return - } - dump, err := tree.DebugDump() - if err != nil { - return - } - resp = &nodedebugrpcproto.DumpTreeResponse{ - Dump: dump, - } - return -} - -func (r *rpcHandler) AllTrees(ctx context.Context, request *nodedebugrpcproto.AllTreesRequest) (resp *nodedebugrpcproto.AllTreesResponse, err error) { - space, err := r.spaceService.GetSpace(ctx, request.SpaceId) - if err != nil { - return - } - heads := space.DebugAllHeads() - var trees []*nodedebugrpcproto.Tree - for _, head := range heads { - trees = append(trees, &nodedebugrpcproto.Tree{ - Id: head.Id, - Heads: head.Heads, - }) - } - resp = &nodedebugrpcproto.AllTreesResponse{Trees: trees} - return -} - -func (r *rpcHandler) AllSpaces(ctx context.Context, request *nodedebugrpcproto.AllSpacesRequest) (resp *nodedebugrpcproto.AllSpacesResponse, err error) { - ids, err := r.storageService.AllSpaceIds() - if err != nil { - return - } - resp = &nodedebugrpcproto.AllSpacesResponse{SpaceIds: ids} - return -} - -func (r *rpcHandler) TreeParams(ctx context.Context, request *nodedebugrpcproto.TreeParamsRequest) (resp *nodedebugrpcproto.TreeParamsResponse, err error) { - tree, err := r.treeCache.GetTree(context.Background(), request.SpaceId, request.DocumentId) - if err != nil { - return - } - resp = &nodedebugrpcproto.TreeParamsResponse{ - RootId: tree.Root().Id, - HeadIds: tree.Heads(), - } - return -} diff --git a/node/go.mod b/node/go.mod deleted file mode 100644 index 7ab1f28f..00000000 --- a/node/go.mod +++ /dev/null @@ -1,70 +0,0 @@ -module github.com/anytypeio/go-anytype-infrastructure-experiments/node - -go 1.19 - -replace github.com/anytypeio/go-anytype-infrastructure-experiments/common => ../common - -replace github.com/anytypeio/go-anytype-infrastructure-experiments/consensus => ../consensus - -require ( - github.com/akrylysov/pogreb v0.10.1 - github.com/anytypeio/go-anytype-infrastructure-experiments/common v0.0.0-00010101000000-000000000000 - github.com/anytypeio/go-anytype-infrastructure-experiments/consensus v0.0.0-20221107145605-92bdf7d57b48 - github.com/gogo/protobuf v1.3.2 - github.com/golang/mock v1.6.0 - github.com/ipfs/go-cid v0.3.2 - github.com/stretchr/testify v1.8.1 - go.uber.org/zap v1.24.0 - gopkg.in/yaml.v3 v3.0.1 - storj.io/drpc v0.0.32 -) - -require ( - github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect - github.com/fogleman/gg v1.3.0 // indirect - github.com/goccy/go-graphviz v0.0.9 // indirect - github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/huandu/skiplist v1.2.0 // indirect - github.com/ipfs/go-log/v2 v2.5.1 // indirect - github.com/klauspost/cpuid/v2 v2.2.2 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.23.2 // indirect - github.com/libp2p/go-openssl v0.1.0 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mattn/go-pointer v0.0.1 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/minio/sha256-simd v1.0.0 // indirect - github.com/mr-tron/base58 v1.2.0 // indirect - github.com/multiformats/go-base32 v0.1.0 // indirect - github.com/multiformats/go-base36 v0.2.0 // indirect - github.com/multiformats/go-multiaddr v0.7.0 // indirect - github.com/multiformats/go-multibase v0.1.1 // indirect - github.com/multiformats/go-multicodec v0.6.0 // indirect - github.com/multiformats/go-multihash v0.2.1 // indirect - github.com/multiformats/go-varint v0.0.7 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.13.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect - github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/zeebo/blake3 v0.2.3 // indirect - github.com/zeebo/errs v1.3.0 // indirect - go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.4.0 // indirect - golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b // indirect - golang.org/x/image v0.0.0-20200119044424-58c23975cae1 // indirect - golang.org/x/sys v0.3.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect - lukechampine.com/blake3 v1.1.7 // indirect -) diff --git a/node/go.sum b/node/go.sum deleted file mode 100644 index 5ea006f6..00000000 --- a/node/go.sum +++ /dev/null @@ -1,621 +0,0 @@ -cloud.google.com/go v0.26.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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/akrylysov/pogreb v0.10.1 h1:FqlR8VR7uCbJdfUob916tPM+idpKgeESDXOA1K0DK4w= -github.com/akrylysov/pogreb v0.10.1/go.mod h1:pNs6QmpQ1UlTJKDezuRWmaqkgUE2TuU0YTWyqJZ7+lI= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232 h1:kMPPZYmJgbs4AJfodbg2OCXg5cp+9LPAJcLZJqmcghk= -github.com/anytypeio/go-chash v0.0.0-20220629194632-4ad1154fe232/go.mod h1:+PeHBAWp7gUh/yw6uAauKc5ku0w4cFNg6DUddGxoGq0= -github.com/awalterschulze/gographviz v2.0.3+incompatible h1:9sVEXJBJLwGX7EQVhLm2elIKCm7P2YHFC8v6096G09E= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c h1:+bD75daSbsxyTzkKpNplC4xls+7/tGwty+zruzOnOmk= -github.com/cheggaaa/mb/v3 v3.0.0-20221122160120-e9034545510c/go.mod h1:zCt2QeYukhd/g0bIdNqF+b/kKz1hnLFNDkP49qN5kqI= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -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/corona10/goimagehash v1.0.2 h1:pUfB0LnsJASMPGEZLj7tGY251vF+qLGqOgEP4rUs6kA= -github.com/corona10/goimagehash v1.0.2/go.mod h1:/l9umBhvcHQXVtQO1V6Gp1yD20STawkhRnnX0D1bvVI= -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/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -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/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/goccy/go-graphviz v0.0.9 h1:s/FMMJ1Joj6La3S5ApO3Jk2cwM4LpXECC2muFx3IPQQ= -github.com/goccy/go-graphviz v0.0.9/go.mod h1:wXVsXxmyMQU6TN3zGRttjNn3h+iCAS7xQFC6TlNvLhk= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -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.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -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/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/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/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= -github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= -github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= -github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc= -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw= -github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= -github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= -github.com/klauspost/cpuid/v2 v2.2.2 h1:xPMwiykqNK9VK0NYC3+jTMYv9I6Vl3YdjZgPZKG3zO0= -github.com/klauspost/cpuid/v2 v2.2.2/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -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/pty v1.1.1/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-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/libp2p/go-libp2p v0.23.2 h1:yqyTeKQJyofWXxEv/eEVUvOrGdt/9x+0PIQ4N1kaxmE= -github.com/libp2p/go-libp2p v0.23.2/go.mod h1:s9DEa5NLR4g+LZS+md5uGU4emjMWFiqkZr6hBTY8UxI= -github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo= -github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= -github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -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.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= -github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= -github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= -github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= -github.com/multiformats/go-multiaddr v0.7.0 h1:gskHcdaCyPtp9XskVwtvEeQOG465sCohbQIirSyqxrc= -github.com/multiformats/go-multiaddr v0.7.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs= -github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI= -github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8= -github.com/multiformats/go-multicodec v0.6.0 h1:KhH2kSuCARyuJraYMFxrNO3DqIaYhOdS039kbhgVwpE= -github.com/multiformats/go-multicodec v0.6.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw= -github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= -github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= -github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= -github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5 h1:BvoENQQU+fZ9uukda/RzCAL/191HHwJA5b13R6diVlY= -github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= -github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -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/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -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/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/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -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/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= -github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= -github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg= -github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ= -github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs= -github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= -github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= -github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b h1:SCE/18RnFsLrjydh/R/s5EVvHoZprqEQUuoxK8q2Pc4= -golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1 h1:5h3ngYt7+vXCDZCup/HkCQgW5XwmSvR/nA2JmJ0RErg= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -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-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/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-20181114220301-adae6a3d119a/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-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/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-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -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/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/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/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-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -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/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/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-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/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-20191125144606-a911d9008d1f/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-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/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-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -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/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/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-20190418145605-e7d98fc518a7/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-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/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.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -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.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -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= -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/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/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -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-20190418001031-e561f6794a2a/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/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= -lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -storj.io/drpc v0.0.32 h1:5p5ZwsK/VOgapaCu+oxaPVwO6UwIs+iwdMiD50+R4PI= -storj.io/drpc v0.0.32/go.mod h1:6rcOyR/QQkSTX/9L5ZGtlZaE2PtXTTZl8d+ulSeeYEg= diff --git a/node/nodespace/nodecache/treecache.go b/node/nodespace/nodecache/treecache.go deleted file mode 100644 index 4757b3ba..00000000 --- a/node/nodespace/nodecache/treecache.go +++ /dev/null @@ -1,85 +0,0 @@ -package nodecache - -import ( - "context" - "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/objecttree" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/treegetter" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/nodespace" - "time" -) - -var log = logger.NewNamed("treecache") -var ErrCacheObjectWithoutTree = errors.New("cache object contains no tree") - -type ctxKey int - -const spaceKey ctxKey = 0 - -type treeCache struct { - gcttl int - cache ocache.OCache - nodeService nodespace.Service -} - -func New(ttl int) treegetter.TreeGetter { - return &treeCache{ - gcttl: ttl, - } -} - -func (c *treeCache) Run(ctx context.Context) (err error) { - return nil -} - -func (c *treeCache) Close(ctx context.Context) (err error) { - return c.cache.Close() -} - -func (c *treeCache) Init(a *app.App) (err error) { - c.nodeService = a.MustComponent(nodespace.CName).(nodespace.Service) - c.cache = ocache.New( - func(ctx context.Context, id string) (value ocache.Object, err error) { - spaceId := ctx.Value(spaceKey).(string) - space, err := c.nodeService.GetSpace(ctx, spaceId) - if err != nil { - return - } - return space.BuildTree(ctx, id, nil) - }, - ocache.WithLogger(log.Sugar()), - ocache.WithGCPeriod(time.Minute), - ocache.WithTTL(time.Duration(c.gcttl)*time.Second), - ) - return nil -} - -func (c *treeCache) Name() (name string) { - return treegetter.CName -} - -func (c *treeCache) GetTree(ctx context.Context, spaceId, id string) (tr objecttree.ObjectTree, err error) { - ctx = context.WithValue(ctx, spaceKey, spaceId) - value, err := c.cache.Get(ctx, id) - if err != nil { - return - } - tr = value.(objecttree.ObjectTree) - return -} - -func (c *treeCache) DeleteTree(ctx context.Context, spaceId, treeId string) (err error) { - tr, err := c.GetTree(ctx, spaceId, treeId) - if err != nil { - return - } - err = tr.Delete() - if err != nil { - return - } - _, err = c.cache.Remove(treeId) - return -} diff --git a/node/nodespace/rpchandler.go b/node/nodespace/rpchandler.go deleted file mode 100644 index 87dc5eb4..00000000 --- a/node/nodespace/rpchandler.go +++ /dev/null @@ -1,83 +0,0 @@ -package nodespace - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" -) - -type rpcHandler struct { - s *service -} - -func (r *rpcHandler) SpacePull(ctx context.Context, request *spacesyncproto.SpacePullRequest) (resp *spacesyncproto.SpacePullResponse, err error) { - sp, err := r.s.GetSpace(ctx, request.Id) - if err != nil { - if err != spacesyncproto.ErrSpaceMissing { - err = spacesyncproto.ErrUnexpected - } - return - } - - spaceDesc, err := sp.Description() - if err != nil { - err = spacesyncproto.ErrUnexpected - return - } - - resp = &spacesyncproto.SpacePullResponse{ - Payload: &spacesyncproto.SpacePayload{ - SpaceHeader: spaceDesc.SpaceHeader, - AclPayloadId: spaceDesc.AclId, - AclPayload: spaceDesc.AclPayload, - SpaceSettingsPayload: spaceDesc.SpaceSettingsPayload, - SpaceSettingsPayloadId: spaceDesc.SpaceSettingsId, - }, - } - return -} - -func (r *rpcHandler) SpacePush(ctx context.Context, req *spacesyncproto.SpacePushRequest) (resp *spacesyncproto.SpacePushResponse, err error) { - description := commonspace.SpaceDescription{ - SpaceHeader: req.Payload.SpaceHeader, - AclId: req.Payload.AclPayloadId, - AclPayload: req.Payload.AclPayload, - SpaceSettingsPayload: req.Payload.SpaceSettingsPayload, - SpaceSettingsId: req.Payload.SpaceSettingsPayloadId, - } - ctx = context.WithValue(ctx, commonspace.AddSpaceCtxKey, description) - _, err = r.s.GetSpace(ctx, description.SpaceHeader.GetId()) - if err != nil { - return - } - resp = &spacesyncproto.SpacePushResponse{} - return -} - -func (r *rpcHandler) HeadSync(ctx context.Context, req *spacesyncproto.HeadSyncRequest) (resp *spacesyncproto.HeadSyncResponse, err error) { - sp, err := r.s.GetOrPickSpace(ctx, req.SpaceId) - if err != nil { - switch err { - case ocache.ErrNotExists: - err = spacesyncproto.ErrSpaceNotInCache - case spacesyncproto.ErrSpaceMissing: - default: - err = spacesyncproto.ErrUnexpected - } - return - } - return sp.SpaceSyncRpc().HeadSync(ctx, req) -} - -func (r *rpcHandler) ObjectSyncStream(stream spacesyncproto.DRPCSpaceSync_ObjectSyncStreamStream) error { - msg, err := stream.Recv() - if err != nil { - return err - } - sp, err := r.s.GetSpace(stream.Context(), msg.SpaceId) - if err != nil { - return spacesyncproto.ErrSpaceMissing - } - return sp.SpaceSyncRpc().Stream(stream) -} diff --git a/node/nodespace/service.go b/node/nodespace/service.go deleted file mode 100644 index 0c9110ab..00000000 --- a/node/nodespace/service.go +++ /dev/null @@ -1,118 +0,0 @@ -package nodespace - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - peer "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/peer" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "golang.org/x/exp/slices" - "time" -) - -const CName = "node.nodespace" - -var log = logger.NewNamed(CName) - -func New() Service { - return &service{} -} - -type Service interface { - GetSpace(ctx context.Context, id string) (commonspace.Space, error) - GetOrPickSpace(ctx context.Context, id string) (commonspace.Space, error) - app.ComponentRunnable -} - -type service struct { - conf commonspace.Config - spaceCache ocache.OCache - commonSpace commonspace.SpaceService - confService nodeconf.Service - spaceStorageProvider spacestorage.SpaceStorageProvider -} - -func (s *service) Init(a *app.App) (err error) { - s.conf = a.MustComponent("config").(commonspace.ConfigGetter).GetSpace() - s.commonSpace = a.MustComponent(commonspace.CName).(commonspace.SpaceService) - s.confService = a.MustComponent(nodeconf.CName).(nodeconf.Service) - s.spaceStorageProvider = a.MustComponent(spacestorage.CName).(spacestorage.SpaceStorageProvider) - s.spaceCache = ocache.New( - s.loadSpace, - ocache.WithLogger(log.Sugar()), - ocache.WithGCPeriod(time.Minute), - ocache.WithTTL(time.Duration(s.conf.GCTTL)*time.Second), - ) - return spacesyncproto.DRPCRegisterSpaceSync(a.MustComponent(server.CName).(server.DRPCServer), &rpcHandler{s}) -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Run(ctx context.Context) (err error) { - return -} - -func (s *service) GetSpace(ctx context.Context, id string) (commonspace.Space, error) { - v, err := s.spaceCache.Get(ctx, id) - if err != nil { - return nil, err - } - return v.(commonspace.Space), nil -} - -func (s *service) GetOrPickSpace(ctx context.Context, id string) (sp commonspace.Space, err error) { - var v ocache.Object - peerId, err := peer.CtxPeerId(ctx) - if err != nil { - return - } - // if we are getting request from our fellow node - // don't try to wake the space, otherwise it can be possible - // that node would be waking up infinitely, depending on - // OCache ttl and HeadSync period - if slices.Contains(s.confService.GetLast().NodeIds(id), peerId) { - v, err = s.spaceCache.Pick(ctx, id) - if err != nil { - // safely checking that we don't have the space storage - // this should not open the database in case of node - if !s.spaceStorageProvider.SpaceExists(id) { - err = spacesyncproto.ErrSpaceMissing - } - return - } - } else { - // if the request is from the client it is safe to wake up the node - v, err = s.spaceCache.Get(ctx, id) - if err != nil { - return - } - } - sp = v.(commonspace.Space) - return -} - -func (s *service) loadSpace(ctx context.Context, id string) (value ocache.Object, err error) { - cc, err := s.commonSpace.NewSpace(ctx, id) - if err != nil { - return - } - ns, err := newNodeSpace(cc) - if err != nil { - return - } - if err = ns.Init(ctx); err != nil { - return - } - return ns, nil -} - -func (s *service) Close(ctx context.Context) (err error) { - return s.spaceCache.Close() -} diff --git a/node/nodespace/space.go b/node/nodespace/space.go deleted file mode 100644 index a1ffe43f..00000000 --- a/node/nodespace/space.go +++ /dev/null @@ -1,24 +0,0 @@ -package nodespace - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" -) - -func newNodeSpace(cc commonspace.Space) (commonspace.Space, error) { - return &nodeSpace{cc}, nil -} - -type nodeSpace struct { - commonspace.Space -} - -func (s *nodeSpace) Init(ctx context.Context) (err error) { - // try to push acl to consensus node - // - return s.Space.Init(ctx) -} - -func (s *nodeSpace) Close() (err error) { - return s.Space.Close() -} diff --git a/node/storage/config.go b/node/storage/config.go deleted file mode 100644 index 6039ede4..00000000 --- a/node/storage/config.go +++ /dev/null @@ -1,9 +0,0 @@ -package storage - -type configGetter interface { - GetStorage() Config -} - -type Config struct { - Path string `yaml:"path"` -} diff --git a/node/storage/keys.go b/node/storage/keys.go deleted file mode 100644 index 902c58ac..00000000 --- a/node/storage/keys.go +++ /dev/null @@ -1,96 +0,0 @@ -package storage - -import ( - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "strings" -) - -type aclKeys struct { -} - -var aclHeadIdKey = []byte("a/headId") -var aclRootIdKey = []byte("a/rootId") - -func (a aclKeys) HeadIdKey() []byte { - return aclHeadIdKey -} - -func (a aclKeys) RootIdKey() []byte { - return aclRootIdKey -} - -func (a aclKeys) RawRecordKey(id string) []byte { - return treestorage.JoinStringsToBytes("a", id) -} - -type treeKeys struct { - id string - prefix string - headsKey []byte -} - -func newTreeKeys(id string) treeKeys { - return treeKeys{ - id: id, - headsKey: treestorage.JoinStringsToBytes("t", id, "heads"), - prefix: fmt.Sprintf("t/%s", id), - } -} - -func (t treeKeys) HeadsKey() []byte { - return t.headsKey -} - -func (t treeKeys) RawChangeKey(id string) []byte { - return treestorage.JoinStringsToBytes("t", t.id, id) -} - -func (t treeKeys) isTreeRelatedKey(key string) bool { - return strings.HasPrefix(key, t.prefix) -} - -type spaceKeys struct { - headerKey []byte -} - -func newSpaceKeys(spaceId string) spaceKeys { - return spaceKeys{headerKey: treestorage.JoinStringsToBytes("s", spaceId)} -} - -var ( - spaceIdKey = []byte("spaceId") - spaceSettingsIdKey = []byte("spaceSettingsId") -) - -func (s spaceKeys) SpaceIdKey() []byte { - return spaceIdKey -} - -func (s spaceKeys) HeaderKey() []byte { - return s.headerKey -} - -func (s spaceKeys) SpaceSettingsIdKey() []byte { - return spaceSettingsIdKey -} - -func (s spaceKeys) TreeDeletedKey(id string) []byte { - return treestorage.JoinStringsToBytes("del", id) -} - -func isTreeHeadsKey(key string) bool { - return strings.HasPrefix(key, "t/") && strings.HasSuffix(key, "/heads") -} - -func getRootId(key string) string { - prefixLen := 2 // len("t/") - suffixLen := 6 // len("/heads") - rootLen := len(key) - suffixLen - prefixLen - sBuf := strings.Builder{} - sBuf.Grow(rootLen) - for i := prefixLen; i < prefixLen+rootLen; i++ { - sBuf.WriteByte(key[i]) - } - return sBuf.String() -} diff --git a/node/storage/liststorage.go b/node/storage/liststorage.go deleted file mode 100644 index f89875ec..00000000 --- a/node/storage/liststorage.go +++ /dev/null @@ -1,129 +0,0 @@ -package storage - -import ( - "context" - "github.com/akrylysov/pogreb" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" -) - -type listStorage struct { - db *pogreb.DB - keys aclKeys - id string - root *aclrecordproto.RawAclRecordWithId -} - -func newListStorage(db *pogreb.DB) (ls liststorage.ListStorage, err error) { - keys := aclKeys{} - rootId, err := db.Get(keys.RootIdKey()) - if err != nil { - return - } - if rootId == nil { - err = liststorage.ErrUnknownAclId - return - } - - root, err := db.Get(keys.RawRecordKey(string(rootId))) - if err != nil { - return - } - if root == nil { - err = liststorage.ErrUnknownAclId - return - } - - rootWithId := &aclrecordproto.RawAclRecordWithId{ - Payload: root, - Id: string(rootId), - } - - ls = &listStorage{ - db: db, - keys: aclKeys{}, - id: string(rootId), - root: rootWithId, - } - return -} - -func createListStorage(db *pogreb.DB, root *aclrecordproto.RawAclRecordWithId) (ls liststorage.ListStorage, err error) { - keys := aclKeys{} - has, err := db.Has(keys.RootIdKey()) - if err != nil { - return - } - if has { - return newListStorage(db) - } - - err = db.Put(keys.HeadIdKey(), []byte(root.Id)) - if err != nil { - return - } - - err = db.Put(keys.RawRecordKey(root.Id), root.Payload) - if err != nil { - return - } - - err = db.Put(keys.RootIdKey(), []byte(root.Id)) - if err != nil { - return - } - - ls = &listStorage{ - db: db, - keys: aclKeys{}, - id: root.Id, - root: root, - } - return -} - -func (l *listStorage) Id() string { - return l.id -} - -func (l *listStorage) Root() (*aclrecordproto.RawAclRecordWithId, error) { - return l.root, nil -} - -func (l *listStorage) Head() (head string, err error) { - bytes, err := l.db.Get(l.keys.HeadIdKey()) - if err != nil { - return - } - if bytes == nil { - err = liststorage.ErrUnknownAclId - return - } - head = string(bytes) - return -} - -func (l *listStorage) GetRawRecord(ctx context.Context, id string) (raw *aclrecordproto.RawAclRecordWithId, err error) { - res, err := l.db.Get(l.keys.RawRecordKey(id)) - if err != nil { - return - } - if res == nil { - err = liststorage.ErrUnknownRecord - return - } - - raw = &aclrecordproto.RawAclRecordWithId{ - Payload: res, - Id: id, - } - return -} - -func (l *listStorage) SetHead(headId string) (err error) { - return l.db.Put(l.keys.HeadIdKey(), []byte(headId)) -} - -func (l *listStorage) AddRawRecord(ctx context.Context, rec *aclrecordproto.RawAclRecordWithId) error { - return l.db.Put(l.keys.RawRecordKey(rec.Id), rec.Payload) -} diff --git a/node/storage/liststorage_test.go b/node/storage/liststorage_test.go deleted file mode 100644 index 303accf4..00000000 --- a/node/storage/liststorage_test.go +++ /dev/null @@ -1,70 +0,0 @@ -package storage - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/stretchr/testify/require" - "testing" -) - -func testList(t *testing.T, store liststorage.ListStorage, root *aclrecordproto.RawAclRecordWithId, head string) { - require.Equal(t, store.Id(), root.Id) - - aclRoot, err := store.Root() - require.NoError(t, err) - require.Equal(t, root, aclRoot) - - aclHead, err := store.Head() - require.NoError(t, err) - require.Equal(t, head, aclHead) -} - -func TestListStorage_Create(t *testing.T) { - fx := newFixture(t) - fx.open(t) - defer fx.stop(t) - - aclRoot := &aclrecordproto.RawAclRecordWithId{Payload: []byte("root"), Id: "someRootId"} - listStore, err := createListStorage(fx.db, aclRoot) - require.NoError(t, err) - testList(t, listStore, aclRoot, aclRoot.Id) - - t.Run("create same list storage returns nil", func(t *testing.T) { - // this is ok, because we only create new list storage when we create space storage - listStore, err := createListStorage(fx.db, aclRoot) - require.NoError(t, err) - testList(t, listStore, aclRoot, aclRoot.Id) - }) -} - -func TestListStorage_Methods(t *testing.T) { - fx := newFixture(t) - fx.open(t) - aclRoot := &aclrecordproto.RawAclRecordWithId{Payload: []byte("root"), Id: "someRootId"} - _, err := createListStorage(fx.db, aclRoot) - require.NoError(t, err) - fx.stop(t) - - fx.open(t) - defer fx.stop(t) - listStore, err := newListStorage(fx.db) - require.NoError(t, err) - testList(t, listStore, aclRoot, aclRoot.Id) - - t.Run("set head", func(t *testing.T) { - head := "newHead" - require.NoError(t, listStore.SetHead(head)) - aclHead, err := listStore.Head() - require.NoError(t, err) - require.Equal(t, head, aclHead) - }) - - t.Run("add raw record and get raw record", func(t *testing.T) { - newRec := &aclrecordproto.RawAclRecordWithId{Payload: []byte("rec"), Id: "someRecId"} - require.NoError(t, listStore.AddRawRecord(context.Background(), newRec)) - aclRec, err := listStore.GetRawRecord(context.Background(), newRec.Id) - require.NoError(t, err) - require.Equal(t, newRec, aclRec) - }) -} diff --git a/node/storage/spacestorage.go b/node/storage/spacestorage.go deleted file mode 100644 index 9d182186..00000000 --- a/node/storage/spacestorage.go +++ /dev/null @@ -1,232 +0,0 @@ -package storage - -import ( - "github.com/akrylysov/pogreb" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/liststorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "go.uber.org/zap" - "os" - "path" - "time" -) - -var ( - defPogrebOptions = &pogreb.Options{BackgroundCompactionInterval: time.Minute * 5} - log = logger.NewNamed("storage.spacestorage") - spaceValidationFunc = spacestorage.ValidateSpaceStorageCreatePayload -) - -type spaceStorage struct { - spaceId string - spaceSettingsId string - objDb *pogreb.DB - keys spaceKeys - aclStorage liststorage.ListStorage - header *spacesyncproto.RawSpaceHeaderWithId -} - -func newSpaceStorage(rootPath string, spaceId string) (store spacestorage.SpaceStorage, err error) { - log.With(zap.String("id", spaceId)).Debug("space storage opening with new") - dbPath := path.Join(rootPath, spaceId) - if _, err = os.Stat(dbPath); err != nil { - err = spacestorage.ErrSpaceStorageMissing - return - } - - objDb, err := pogreb.Open(dbPath, defPogrebOptions) - if err != nil { - return - } - - defer func() { - if err != nil { - log.With(zap.String("id", spaceId), zap.Error(err)).Warn("failed to open storage") - objDb.Close() - } - }() - - keys := newSpaceKeys(spaceId) - has, err := objDb.Has(keys.SpaceIdKey()) - if err != nil { - return - } - if !has { - err = spacestorage.ErrSpaceStorageMissing - return - } - - header, err := objDb.Get(keys.HeaderKey()) - if err != nil { - return - } - if header == nil { - err = spacestorage.ErrSpaceStorageMissing - return - } - - spaceSettingsId, err := objDb.Get(keys.SpaceSettingsIdKey()) - if err != nil { - return - } - if spaceSettingsId == nil { - err = spacestorage.ErrSpaceStorageMissing - return - } - - aclStorage, err := newListStorage(objDb) - if err != nil { - return - } - - store = &spaceStorage{ - spaceId: spaceId, - spaceSettingsId: string(spaceSettingsId), - objDb: objDb, - keys: keys, - header: &spacesyncproto.RawSpaceHeaderWithId{ - RawHeader: header, - Id: spaceId, - }, - aclStorage: aclStorage, - } - return -} - -func createSpaceStorage(rootPath string, payload spacestorage.SpaceStorageCreatePayload) (store spacestorage.SpaceStorage, err error) { - log.With(zap.String("id", payload.SpaceHeaderWithId.Id)).Debug("space storage creating") - dbPath := path.Join(rootPath, payload.SpaceHeaderWithId.Id) - db, err := pogreb.Open(dbPath, defPogrebOptions) - if err != nil { - return - } - - defer func() { - if err != nil { - log.With(zap.String("id", payload.SpaceHeaderWithId.Id), zap.Error(err)).Warn("failed to create storage") - db.Close() - } - }() - - keys := newSpaceKeys(payload.SpaceHeaderWithId.Id) - has, err := db.Has(keys.SpaceIdKey()) - if err != nil { - return - } - if has { - err = spacestorage.ErrSpaceStorageExists - return - } - err = spaceValidationFunc(payload) - if err != nil { - return - } - - aclStorage, err := createListStorage(db, payload.AclWithId) - if err != nil { - return - } - - store = &spaceStorage{ - spaceId: payload.SpaceHeaderWithId.Id, - objDb: db, - keys: keys, - aclStorage: aclStorage, - spaceSettingsId: payload.SpaceSettingsWithId.Id, - header: payload.SpaceHeaderWithId, - } - - _, err = store.CreateTreeStorage(treestorage.TreeStorageCreatePayload{ - RootRawChange: payload.SpaceSettingsWithId, - Changes: []*treechangeproto.RawTreeChangeWithId{payload.SpaceSettingsWithId}, - Heads: []string{payload.SpaceSettingsWithId.Id}, - }) - if err != nil { - return - } - - err = db.Put(keys.SpaceSettingsIdKey(), []byte(payload.SpaceSettingsWithId.Id)) - if err != nil { - return - } - - err = db.Put(keys.HeaderKey(), payload.SpaceHeaderWithId.RawHeader) - if err != nil { - return - } - - err = db.Put(keys.SpaceIdKey(), []byte(payload.SpaceHeaderWithId.Id)) - if err != nil { - return - } - - return -} - -func (s *spaceStorage) Id() string { - return s.spaceId -} - -func (s *spaceStorage) SpaceSettingsId() string { - return s.spaceSettingsId -} - -func (s *spaceStorage) TreeStorage(id string) (treestorage.TreeStorage, error) { - return newTreeStorage(s.objDb, id) -} - -func (s *spaceStorage) TreeRoot(id string) (*treechangeproto.RawTreeChangeWithId, error) { - panic("should not be implemented") -} - -func (s *spaceStorage) CreateTreeStorage(payload treestorage.TreeStorageCreatePayload) (ts treestorage.TreeStorage, err error) { - return createTreeStorage(s.objDb, payload) -} - -func (s *spaceStorage) AclStorage() (liststorage.ListStorage, error) { - return s.aclStorage, nil -} - -func (s *spaceStorage) SpaceHeader() (header *spacesyncproto.RawSpaceHeaderWithId, err error) { - return s.header, nil -} - -func (s *spaceStorage) SetTreeDeletedStatus(id, state string) (err error) { - return s.objDb.Put(s.keys.TreeDeletedKey(id), []byte(state)) -} - -func (s *spaceStorage) TreeDeletedStatus(id string) (status string, err error) { - res, err := s.objDb.Get(s.keys.TreeDeletedKey(id)) - if err != nil { - return - } - status = string(res) - return -} - -func (s *spaceStorage) StoredIds() (ids []string, err error) { - index := s.objDb.Items() - - key, _, err := index.Next() - for err == nil { - strKey := string(key) - if isTreeHeadsKey(strKey) { - ids = append(ids, getRootId(strKey)) - } - key, _, err = index.Next() - } - - if err != pogreb.ErrIterationDone { - return - } - err = nil - return -} - -func (s *spaceStorage) Close() (err error) { - log.With(zap.String("id", s.spaceId)).Debug("space storage closed") - return s.objDb.Close() -} diff --git a/node/storage/spacestorage_test.go b/node/storage/spacestorage_test.go deleted file mode 100644 index 92c68894..00000000 --- a/node/storage/spacestorage_test.go +++ /dev/null @@ -1,125 +0,0 @@ -package storage - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/acl/aclrecordproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto" - "github.com/stretchr/testify/require" - "os" - "sort" - "strconv" - "testing" -) - -func spaceTestPayload() spacestorage.SpaceStorageCreatePayload { - header := &spacesyncproto.RawSpaceHeaderWithId{ - RawHeader: []byte("header"), - Id: "headerId", - } - aclRoot := &aclrecordproto.RawAclRecordWithId{ - Payload: []byte("aclRoot"), - Id: "aclRootId", - } - settings := &treechangeproto.RawTreeChangeWithId{ - RawChange: []byte("settings"), - Id: "settingsId", - } - return spacestorage.SpaceStorageCreatePayload{ - AclWithId: aclRoot, - SpaceHeaderWithId: header, - SpaceSettingsWithId: settings, - } -} - -func testSpace(t *testing.T, store spacestorage.SpaceStorage, payload spacestorage.SpaceStorageCreatePayload) { - header, err := store.SpaceHeader() - require.NoError(t, err) - require.Equal(t, payload.SpaceHeaderWithId, header) - - aclStorage, err := store.AclStorage() - require.NoError(t, err) - testList(t, aclStorage, payload.AclWithId, payload.AclWithId.Id) -} - -func TestSpaceStorage_Create(t *testing.T) { - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - - payload := spaceTestPayload() - store, err := createSpaceStorage(dir, payload) - require.NoError(t, err) - - testSpace(t, store, payload) - require.NoError(t, store.Close()) - - t.Run("create same storage returns error", func(t *testing.T) { - _, err := createSpaceStorage(dir, payload) - require.Error(t, err) - }) -} - -func TestSpaceStorage_NewAndCreateTree(t *testing.T) { - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - - payload := spaceTestPayload() - store, err := createSpaceStorage(dir, payload) - require.NoError(t, err) - require.NoError(t, store.Close()) - - store, err = newSpaceStorage(dir, payload.SpaceHeaderWithId.Id) - require.NoError(t, err) - defer func() { - require.NoError(t, store.Close()) - }() - testSpace(t, store, payload) - - t.Run("create tree, get tree and mark deleted", func(t *testing.T) { - payload := treeTestPayload() - treeStore, err := store.CreateTreeStorage(payload) - require.NoError(t, err) - testTreePayload(t, treeStore, payload) - - otherStore, err := store.TreeStorage(payload.RootRawChange.Id) - require.NoError(t, err) - testTreePayload(t, otherStore, payload) - - initialStatus := "deleted" - err = store.SetTreeDeletedStatus(otherStore.Id(), initialStatus) - require.NoError(t, err) - - status, err := store.TreeDeletedStatus(otherStore.Id()) - require.NoError(t, err) - require.Equal(t, initialStatus, status) - }) -} - -func TestSpaceStorage_StoredIds(t *testing.T) { - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - - payload := spaceTestPayload() - store, err := createSpaceStorage(dir, payload) - require.NoError(t, err) - defer func() { - require.NoError(t, store.Close()) - }() - - n := 5 - var ids []string - for i := 0; i < n; i++ { - treePayload := treeTestPayload() - treePayload.RootRawChange.Id += strconv.Itoa(i) - ids = append(ids, treePayload.RootRawChange.Id) - _, err := store.CreateTreeStorage(treePayload) - require.NoError(t, err) - } - ids = append(ids, payload.SpaceSettingsWithId.Id) - sort.Strings(ids) - - storedIds, err := store.StoredIds() - sort.Strings(storedIds) - require.NoError(t, err) - require.Equal(t, ids, storedIds) -} diff --git a/node/storage/storageservice.go b/node/storage/storageservice.go deleted file mode 100644 index 6e8ac73a..00000000 --- a/node/storage/storageservice.go +++ /dev/null @@ -1,60 +0,0 @@ -package storage - -import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacestorage" - "os" - "path" -) - -type storageService struct { - rootPath string -} - -type NodeStorage interface { - spacestorage.SpaceStorageProvider - AllSpaceIds() (ids []string, err error) -} - -func New() NodeStorage { - return &storageService{} -} - -func (s *storageService) Init(a *app.App) (err error) { - cfg := a.MustComponent("config").(configGetter).GetStorage() - s.rootPath = cfg.Path - return nil -} - -func (s *storageService) Name() (name string) { - return spacestorage.CName -} - -func (s *storageService) SpaceStorage(id string) (spacestorage.SpaceStorage, error) { - return newSpaceStorage(s.rootPath, id) -} - -func (s *storageService) SpaceExists(id string) bool { - dbPath := path.Join(s.rootPath, id) - if _, err := os.Stat(dbPath); err != nil { - return false - } - return true -} - -func (s *storageService) CreateSpaceStorage(payload spacestorage.SpaceStorageCreatePayload) (spacestorage.SpaceStorage, error) { - return createSpaceStorage(s.rootPath, payload) -} - -func (s *storageService) AllSpaceIds() (ids []string, err error) { - var files []string - fileInfo, err := os.ReadDir(s.rootPath) - if err != nil { - return files, err - } - - for _, file := range fileInfo { - files = append(files, file.Name()) - } - return files, nil -} diff --git a/node/storage/treestorage.go b/node/storage/treestorage.go deleted file mode 100644 index 65b8e20c..00000000 --- a/node/storage/treestorage.go +++ /dev/null @@ -1,170 +0,0 @@ -package storage - -import ( - "context" - "github.com/akrylysov/pogreb" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" -) - -type treeStorage struct { - db *pogreb.DB - keys treeKeys - id string - root *treechangeproto.RawTreeChangeWithId -} - -func newTreeStorage(db *pogreb.DB, treeId string) (ts treestorage.TreeStorage, err error) { - keys := newTreeKeys(treeId) - heads, err := db.Get(keys.HeadsKey()) - if err != nil { - return - } - if heads == nil { - err = treestorage.ErrUnknownTreeId - return - } - - root, err := db.Get(keys.RawChangeKey(treeId)) - if err != nil { - return - } - if root == nil { - err = treestorage.ErrUnknownTreeId - return - } - - rootWithId := &treechangeproto.RawTreeChangeWithId{ - RawChange: root, - Id: treeId, - } - ts = &treeStorage{ - db: db, - keys: keys, - id: treeId, - root: rootWithId, - } - return -} - -func createTreeStorage(db *pogreb.DB, payload treestorage.TreeStorageCreatePayload) (ts treestorage.TreeStorage, err error) { - keys := newTreeKeys(payload.RootRawChange.Id) - has, err := db.Has(keys.HeadsKey()) - if err != nil { - return - } - if has { - err = treestorage.ErrTreeExists - return - } - - heads := treestorage.CreateHeadsPayload(payload.Heads) - - for _, ch := range payload.Changes { - err = db.Put(keys.RawChangeKey(ch.Id), ch.GetRawChange()) - if err != nil { - return - } - } - - err = db.Put(keys.RawChangeKey(payload.RootRawChange.Id), payload.RootRawChange.GetRawChange()) - if err != nil { - return - } - - err = db.Put(keys.HeadsKey(), heads) - if err != nil { - return - } - - ts = &treeStorage{ - db: db, - keys: keys, - id: payload.RootRawChange.Id, - root: payload.RootRawChange, - } - return -} - -func (t *treeStorage) Id() string { - return t.id -} - -func (t *treeStorage) Root() (raw *treechangeproto.RawTreeChangeWithId, err error) { - return t.root, nil -} - -func (t *treeStorage) Heads() (heads []string, err error) { - headsBytes, err := t.db.Get(t.keys.HeadsKey()) - if err != nil { - return - } - if headsBytes == nil { - err = treestorage.ErrUnknownTreeId - return - } - heads = treestorage.ParseHeads(headsBytes) - return -} - -func (t *treeStorage) SetHeads(heads []string) (err error) { - payload := treestorage.CreateHeadsPayload(heads) - return t.db.Put(t.keys.HeadsKey(), payload) -} - -func (t *treeStorage) AddRawChange(change *treechangeproto.RawTreeChangeWithId) (err error) { - return t.db.Put(t.keys.RawChangeKey(change.Id), change.RawChange) -} - -func (t *treeStorage) GetRawChange(ctx context.Context, id string) (raw *treechangeproto.RawTreeChangeWithId, err error) { - res, err := t.db.Get(t.keys.RawChangeKey(id)) - if err != nil { - return - } - if res == nil { - err = treestorage.ErrUnknownChange - } - - raw = &treechangeproto.RawTreeChangeWithId{ - RawChange: res, - Id: id, - } - return -} - -func (t *treeStorage) HasChange(ctx context.Context, id string) (bool, error) { - return t.db.Has(t.keys.RawChangeKey(id)) -} - -func (t *treeStorage) Delete() (err error) { - storedKeys, err := t.storedKeys() - if err != nil { - return - } - for _, k := range storedKeys { - err = t.db.Delete(k) - if err != nil { - return - } - } - return -} - -func (t *treeStorage) storedKeys() (keys [][]byte, err error) { - index := t.db.Items() - - key, _, err := index.Next() - for err == nil { - strKey := string(key) - if t.keys.isTreeRelatedKey(strKey) { - keys = append(keys, key) - } - key, _, err = index.Next() - } - - if err != pogreb.ErrIterationDone { - return - } - err = nil - return -} diff --git a/node/storage/treestorage_test.go b/node/storage/treestorage_test.go deleted file mode 100644 index 118d557c..00000000 --- a/node/storage/treestorage_test.go +++ /dev/null @@ -1,169 +0,0 @@ -package storage - -import ( - "context" - "github.com/akrylysov/pogreb" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treechangeproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/tree/treestorage" - "github.com/stretchr/testify/require" - "os" - "testing" -) - -func treeTestPayload() treestorage.TreeStorageCreatePayload { - rootRawChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("some"), Id: "rootId"} - otherChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("some other"), Id: "otherId"} - changes := []*treechangeproto.RawTreeChangeWithId{rootRawChange, otherChange} - return treestorage.TreeStorageCreatePayload{ - RootRawChange: rootRawChange, - Changes: changes, - Heads: []string{rootRawChange.Id}, - } -} - -type fixture struct { - dir string - db *pogreb.DB -} - -func newFixture(t *testing.T) *fixture { - dir, err := os.MkdirTemp("", "") - require.NoError(t, err) - return &fixture{dir: dir} -} - -func (fx *fixture) open(t *testing.T) { - var err error - fx.db, err = pogreb.Open(fx.dir, nil) - require.NoError(t, err) -} - -func (fx *fixture) stop(t *testing.T) { - require.NoError(t, fx.db.Close()) -} - -func (fx *fixture) testNoKeysExist(t *testing.T, treeId string) { - index := fx.db.Items() - treeKeys := newTreeKeys(treeId) - var keys [][]byte - key, _, err := index.Next() - for err == nil { - strKey := string(key) - if treeKeys.isTreeRelatedKey(strKey) { - keys = append(keys, key) - } - key, _, err = index.Next() - } - require.Equal(t, pogreb.ErrIterationDone, err) - require.Equal(t, 0, len(keys)) - - res, err := fx.db.Has(treeKeys.HeadsKey()) - require.NoError(t, err) - require.False(t, res) -} - -func testTreePayload(t *testing.T, store treestorage.TreeStorage, payload treestorage.TreeStorageCreatePayload) { - require.Equal(t, payload.RootRawChange.Id, store.Id()) - - root, err := store.Root() - require.NoError(t, err) - require.Equal(t, root, payload.RootRawChange) - - heads, err := store.Heads() - require.NoError(t, err) - require.Equal(t, payload.Heads, heads) - - for _, ch := range payload.Changes { - dbCh, err := store.GetRawChange(context.Background(), ch.Id) - require.NoError(t, err) - require.Equal(t, ch, dbCh) - } - return -} - -func TestTreeStorage_Create(t *testing.T) { - fx := newFixture(t) - fx.open(t) - defer fx.stop(t) - - payload := treeTestPayload() - store, err := createTreeStorage(fx.db, payload) - require.NoError(t, err) - testTreePayload(t, store, payload) - - t.Run("create same storage returns error", func(t *testing.T) { - _, err := createTreeStorage(fx.db, payload) - require.Error(t, err) - }) -} - -func TestTreeStorage_Methods(t *testing.T) { - fx := newFixture(t) - fx.open(t) - payload := treeTestPayload() - _, err := createTreeStorage(fx.db, payload) - require.NoError(t, err) - fx.stop(t) - - fx.open(t) - defer fx.stop(t) - store, err := newTreeStorage(fx.db, payload.RootRawChange.Id) - require.NoError(t, err) - testTreePayload(t, store, payload) - - t.Run("update heads", func(t *testing.T) { - newHeads := []string{"a", "b"} - require.NoError(t, store.SetHeads(newHeads)) - heads, err := store.Heads() - require.NoError(t, err) - require.Equal(t, newHeads, heads) - }) - - t.Run("add raw change, get change and has change", func(t *testing.T) { - newChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("ab"), Id: "newId"} - require.NoError(t, store.AddRawChange(newChange)) - rawCh, err := store.GetRawChange(context.Background(), newChange.Id) - require.NoError(t, err) - require.Equal(t, newChange, rawCh) - has, err := store.HasChange(context.Background(), newChange.Id) - require.NoError(t, err) - require.True(t, has) - }) - - t.Run("get and has for unknown change", func(t *testing.T) { - incorrectId := "incorrectId" - _, err := store.GetRawChange(context.Background(), incorrectId) - require.Error(t, err) - has, err := store.HasChange(context.Background(), incorrectId) - require.NoError(t, err) - require.False(t, has) - }) -} - -func TestTreeStorage_Delete(t *testing.T) { - fx := newFixture(t) - fx.open(t) - payload := treeTestPayload() - _, err := createTreeStorage(fx.db, payload) - require.NoError(t, err) - fx.stop(t) - - fx.open(t) - defer fx.stop(t) - store, err := newTreeStorage(fx.db, payload.RootRawChange.Id) - require.NoError(t, err) - testTreePayload(t, store, payload) - - t.Run("add raw change, get change and has change", func(t *testing.T) { - newChange := &treechangeproto.RawTreeChangeWithId{RawChange: []byte("ab"), Id: "newId"} - require.NoError(t, store.AddRawChange(newChange)) - - err = store.Delete() - require.NoError(t, err) - - _, err = newTreeStorage(fx.db, payload.RootRawChange.Id) - require.Equal(t, err, treestorage.ErrUnknownTreeId) - - fx.testNoKeysExist(t, payload.RootRawChange.Id) - }) -} diff --git a/common/nodeconf/config.go b/nodeconf/config.go similarity index 100% rename from common/nodeconf/config.go rename to nodeconf/config.go diff --git a/common/nodeconf/configuration.go b/nodeconf/configuration.go similarity index 91% rename from common/nodeconf/configuration.go rename to nodeconf/configuration.go index 9453b32e..75924a57 100644 --- a/common/nodeconf/configuration.go +++ b/nodeconf/configuration.go @@ -1,9 +1,7 @@ -//go:generate mockgen -destination mock_nodeconf/mock_nodeconf.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf Service,Configuration +//go:generate mockgen -destination mock_nodeconf/mock_nodeconf.go github.com/anytypeio/any-sync/nodeconf Service,Configuration package nodeconf -import ( - "github.com/anytypeio/go-chash" -) +import "github.com/anytypeio/go-chash" type Configuration interface { // Id returns current nodeconf id diff --git a/common/nodeconf/mock_nodeconf/mock_nodeconf.go b/nodeconf/mock_nodeconf/mock_nodeconf.go similarity index 95% rename from common/nodeconf/mock_nodeconf/mock_nodeconf.go rename to nodeconf/mock_nodeconf/mock_nodeconf.go index e0876d62..38d5ef64 100644 --- a/common/nodeconf/mock_nodeconf/mock_nodeconf.go +++ b/nodeconf/mock_nodeconf/mock_nodeconf.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf (interfaces: Service,Configuration) +// Source: github.com/anytypeio/any-sync/nodeconf (interfaces: Service,Configuration) // Package mock_nodeconf is a generated GoMock package. package mock_nodeconf @@ -7,8 +7,8 @@ package mock_nodeconf import ( reflect "reflect" - app "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - nodeconf "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" + app "github.com/anytypeio/any-sync/app" + nodeconf "github.com/anytypeio/any-sync/nodeconf" gomock "github.com/golang/mock/gomock" ) diff --git a/common/nodeconf/service.go b/nodeconf/service.go similarity index 82% rename from common/nodeconf/service.go rename to nodeconf/service.go index d58ead48..00bd3632 100644 --- a/common/nodeconf/service.go +++ b/nodeconf/service.go @@ -1,12 +1,12 @@ package nodeconf import ( - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + commonaccount "github.com/anytypeio/any-sync/accountservice" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/app/logger" + "github.com/anytypeio/any-sync/util/keys" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" "github.com/anytypeio/go-chash" ) diff --git a/common/testutil/accounttest/accountservice.go b/testutil/accounttest/accountservice.go similarity index 62% rename from common/testutil/accounttest/accountservice.go rename to testutil/accounttest/accountservice.go index d653e98d..d8c3268b 100644 --- a/common/testutil/accounttest/accountservice.go +++ b/testutil/accounttest/accountservice.go @@ -1,11 +1,11 @@ package accounttest import ( - accountService "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/object/accountdata" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + accountService "github.com/anytypeio/any-sync/accountservice" + "github.com/anytypeio/any-sync/app" + "github.com/anytypeio/any-sync/commonspace/object/accountdata" + "github.com/anytypeio/any-sync/util/keys/asymmetric/encryptionkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" ) // AccountTestService provides service for test purposes, generates new random account every Init diff --git a/common/util/cidutil/cid.go b/util/cidutil/cid.go similarity index 100% rename from common/util/cidutil/cid.go rename to util/cidutil/cid.go diff --git a/util/cmd/benchmarks/db/badger.go b/util/cmd/benchmarks/db/badger.go deleted file mode 100644 index 87bc01a2..00000000 --- a/util/cmd/benchmarks/db/badger.go +++ /dev/null @@ -1,172 +0,0 @@ -package db - -import ( - "fmt" - "github.com/dgraph-io/badger/v3" -) - -type badgerTree struct { - id string - spaceId string - db *badger.DB -} - -type badgerTransaction struct { - spaceId string - id string - txn *badger.Txn -} - -func (b *badgerTransaction) AddChange(key string, value []byte) (err error) { - badgerKey := fmt.Sprintf("space/%s/tree/%s/change/%s", b.spaceId, b.id, key) - return b.txn.Set([]byte(badgerKey), value) -} - -func (b *badgerTransaction) GetChange(key string) (val []byte, err error) { - badgerKey := fmt.Sprintf("space/%s/tree/%s/change/%s", b.spaceId, b.id, key) - it, err := b.txn.Get([]byte(badgerKey)) - if err != nil { - return - } - return it.ValueCopy(val) -} - -func (b *badgerTree) Perform(f func(txn Transaction) error) error { - return b.db.Update(func(txn *badger.Txn) error { - bTxn := &badgerTransaction{b.spaceId, b.id, txn} - return f(bTxn) - }) -} - -func (b *badgerTree) Id() string { - return b.id -} - -func (b *badgerTree) UpdateHead(head string) (err error) { - key := fmt.Sprintf("space/%s/tree/%s/heads", b.spaceId, b.id) - return b.db.Update(func(txn *badger.Txn) error { - return txn.Set([]byte(key), []byte(head)) - }) -} - -func (b *badgerTree) AddChange(key string, value []byte) (err error) { - badgerKey := fmt.Sprintf("space/%s/tree/%s/change/%s", b.spaceId, b.id, key) - return b.db.Update(func(txn *badger.Txn) error { - return txn.Set([]byte(badgerKey), value) - }) -} - -func (b *badgerTree) GetChange(key string) (val []byte, err error) { - badgerKey := fmt.Sprintf("space/%s/tree/%s/change/%s", b.spaceId, b.id, key) - err = b.db.View(func(txn *badger.Txn) error { - item, err := txn.Get([]byte(badgerKey)) - if err != nil { - return err - } - val, err = item.ValueCopy(val) - if err != nil { - return err - } - return nil - }) - return -} - -func (b *badgerTree) HasChange(key string) (has bool, err error) { - badgerKey := fmt.Sprintf("space/%s/tree/%s/change/%s", b.spaceId, b.id, key) - err = b.db.View(func(txn *badger.Txn) error { - _, err := txn.Get([]byte(badgerKey)) - return err - }) - if err != nil { - return - } - has = true - return -} - -type badgerSpace struct { - id string - db *badger.DB -} - -func (b *badgerSpace) Id() string { - return b.id -} - -func (b *badgerSpace) CreateTree(id string) (Tree, error) { - key := fmt.Sprintf("space/%s/tree/%s", b.id, id) - err := b.db.Update(func(txn *badger.Txn) error { - return txn.Set([]byte(key), []byte("exists")) - }) - if err != nil { - return nil, err - } - return &badgerTree{ - id: id, - spaceId: b.id, - db: b.db, - }, nil -} - -func (b *badgerSpace) GetTree(id string) (Tree, error) { - //TODO implement me - panic("implement me") -} - -func (b *badgerSpace) Close() error { - return nil -} - -type badgerSpaceCreator struct { - rootPath string - db *badger.DB -} - -func (b *badgerSpaceCreator) CreateSpace(id string) (Space, error) { - key := fmt.Sprintf("space/%s", id) - err := b.db.Update(func(txn *badger.Txn) error { - return txn.Set([]byte(key), []byte("exists")) - }) - if err != nil { - return nil, err - } - return &badgerSpace{ - id: id, - db: b.db, - }, nil -} - -func (b *badgerSpaceCreator) GetSpace(id string) (Space, error) { - key := fmt.Sprintf("space/%s", id) - err := b.db.Update(func(txn *badger.Txn) error { - _, err := txn.Get([]byte(key)) - if err != nil { - return err - } - return nil - }) - if err != nil { - return nil, err - } - return &badgerSpace{ - id: id, - db: b.db, - }, nil -} - -func (b *badgerSpaceCreator) Close() error { - return b.db.Close() -} - -func NewBadgerSpaceCreator() SpaceCreator { - rootPath := "badger.db.test" - db, err := badger.Open(badger.DefaultOptions(rootPath)) - if err != nil { - panic(err) - } - return &badgerSpaceCreator{ - rootPath: rootPath, - db: db, - } -} diff --git a/util/cmd/benchmarks/db/common.go b/util/cmd/benchmarks/db/common.go deleted file mode 100644 index 0443e3f6..00000000 --- a/util/cmd/benchmarks/db/common.go +++ /dev/null @@ -1,30 +0,0 @@ -package db - -type Transaction interface { - AddChange(key string, value []byte) (err error) - GetChange(key string) ([]byte, error) -} - -type Tree interface { - Id() string - UpdateHead(head string) (err error) - AddChange(key string, value []byte) (err error) - GetChange(key string) ([]byte, error) - HasChange(key string) (has bool, err error) - Perform(func(txn Transaction) error) error -} - -type Space interface { - Id() string - CreateTree(id string) (Tree, error) - GetTree(id string) (Tree, error) - Close() error -} - -type SpaceCreator interface { - CreateSpace(id string) (Space, error) - GetSpace(id string) (Space, error) - Close() error -} - -type SpaceCreatorFactory func() SpaceCreator diff --git a/util/cmd/benchmarks/db/pogreb.go b/util/cmd/benchmarks/db/pogreb.go deleted file mode 100644 index 2edca852..00000000 --- a/util/cmd/benchmarks/db/pogreb.go +++ /dev/null @@ -1,95 +0,0 @@ -package db - -import ( - "fmt" - "github.com/akrylysov/pogreb" - "path" - "time" -) - -type pogrebTree struct { - id string - db *pogreb.DB -} - -func (p *pogrebTree) Perform(f func(txn Transaction) error) error { - return f(p) -} - -func (p *pogrebTree) Id() string { - return p.id -} - -func (p *pogrebTree) UpdateHead(head string) (err error) { - return p.db.Put([]byte(fmt.Sprintf("t/%s/heads", p.id)), []byte(head)) -} - -func (p *pogrebTree) AddChange(key string, value []byte) (err error) { - changeKey := fmt.Sprintf("t/%s/%s", p.id, key) - return p.db.Put([]byte(changeKey), value) -} - -func (p *pogrebTree) GetChange(key string) (val []byte, err error) { - changeKey := fmt.Sprintf("t/%s/%s", p.id, key) - return p.db.Get([]byte(changeKey)) -} - -func (p *pogrebTree) HasChange(key string) (has bool, err error) { - changeKey := fmt.Sprintf("t/%s/%s", p.id, key) - return p.db.Has([]byte(changeKey)) -} - -type pogrebSpace struct { - id string - db *pogreb.DB -} - -func (p *pogrebSpace) Id() string { - return p.id -} - -func (p *pogrebSpace) CreateTree(id string) (Tree, error) { - return &pogrebTree{ - id: id, - db: p.db, - }, nil -} - -func (p *pogrebSpace) GetTree(id string) (Tree, error) { - return p.CreateTree(id) -} - -func (p *pogrebSpace) Close() error { - return p.db.Close() -} - -type pogrebSpaceCreator struct { - rootPath string -} - -func (p *pogrebSpaceCreator) CreateSpace(id string) (Space, error) { - dbPath := path.Join(p.rootPath, id) - db, err := pogreb.Open(dbPath, &pogreb.Options{ - BackgroundSyncInterval: time.Second * 30, - BackgroundCompactionInterval: time.Minute * 2, - }) - if err != nil { - return nil, err - } - return &pogrebSpace{ - id: id, - db: db, - }, nil -} - -func (p *pogrebSpaceCreator) GetSpace(id string) (Space, error) { - return p.CreateSpace(id) -} - -func (p *pogrebSpaceCreator) Close() error { - return nil -} - -func NewPogrebSpaceCreator() SpaceCreator { - return &pogrebSpaceCreator{rootPath: "db.test"} -} diff --git a/util/cmd/benchmarks/dbbench.go b/util/cmd/benchmarks/dbbench.go deleted file mode 100644 index e5ff849a..00000000 --- a/util/cmd/benchmarks/dbbench.go +++ /dev/null @@ -1,190 +0,0 @@ -package main - -import ( - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/benchmarks/db" - "math/rand" - "net/http" - _ "net/http/pprof" - "os" - "os/signal" - "syscall" - "time" -) - -func main() { - go func() { - fmt.Println(http.ListenAndServe("localhost:6060", nil)) - }() - opts := options{ - numSpaces: 10, - numEntriesInSpace: 100, - numChangesInTree: 1000, - numHeadUpdates: 100, - defValueSize: 1000, - lenHeadUpdate: 1000, - } - fmt.Println("badger") - bench(db.NewBadgerSpaceCreator, opts) - fmt.Println("pogreb") - bench(db.NewPogrebSpaceCreator, opts) -} - -type options struct { - numSpaces int - numEntriesInSpace int - numChangesInTree int - numHeadUpdates int - defValueSize int - lenHeadUpdate int -} - -func bench(factory db.SpaceCreatorFactory, opts options) { - spaceIdKey := func(n int) string { - return fmt.Sprintf("space%d", n) - } - treeIdKey := func(n int) string { - return fmt.Sprintf("tree%d", n) - } - changeIdKey := func(n int) string { - return fmt.Sprintf("change%d", n) - } - - var byteSlice = func() []byte { - var buf = make([]byte, opts.defValueSize) - rand.Read(buf) - return buf - } - - var headUpdate = func() []byte { - var buf = make([]byte, opts.lenHeadUpdate) - rand.Read(buf) - return buf - } - - creator := factory() - // creating spaces - now := time.Now() - var spaces []db.Space - for i := 0; i < opts.numSpaces; i++ { - sp, err := creator.CreateSpace(spaceIdKey(i)) - if err != nil { - panic(err) - } - err = sp.Close() - if err != nil { - panic(err) - } - } - fmt.Println(opts.numSpaces, "spaces creation, spent ms", time.Now().Sub(now).Milliseconds()) - now = time.Now() - // creating trees - var trees []db.Tree - for i := 0; i < opts.numSpaces; i++ { - space, err := creator.GetSpace(spaceIdKey(i)) - if err != nil { - panic(err) - } - spaces = append(spaces, space) - for j := 0; j < opts.numEntriesInSpace; j++ { - tr, err := space.CreateTree(treeIdKey(j)) - if err != nil { - panic(err) - } - trees = append(trees, tr) - } - } - fmt.Println(opts.numSpaces*opts.numEntriesInSpace, "trees creation, spent ms", time.Now().Sub(now).Milliseconds()) - now = time.Now() - - // filling entries and updating heads - for _, t := range trees { - for i := 0; i < opts.numChangesInTree; i++ { - err := t.AddChange(changeIdKey(i), byteSlice()) - if err != nil { - panic(err) - } - } - //t.Perform(func(txn db.Transaction) error { - // for i := 0; i < opts.numChangesInTree; i++ { - // err := t.AddChange(changeIdKey(i), byteSlice()) - // if err != nil { - // panic(err) - // } - // } - // return nil - //}) - for i := 0; i < opts.numHeadUpdates; i++ { - err := t.UpdateHead(string(headUpdate())) - if err != nil { - panic(err) - } - } - } - total := opts.numSpaces * opts.numEntriesInSpace * opts.numChangesInTree - fmt.Println(total, "changes creation, spent ms", time.Now().Sub(now).Milliseconds()) - now = time.Now() - - // getting some values from tree - for _, t := range trees { - err := t.Perform(func(txn db.Transaction) error { - for i := 0; i < opts.numChangesInTree; i++ { - _, err := t.GetChange(changeIdKey(i)) - if err != nil { - return err - } - } - return nil - }) - if err != nil { - panic(err) - } - } - - fmt.Println(total, "changes getting perform, spent ms", time.Now().Sub(now).Milliseconds()) - now = time.Now() - - // getting some values from tree - for _, t := range trees { - for i := 0; i < opts.numChangesInTree; i++ { - res, err := t.GetChange(changeIdKey(i)) - if err != nil { - panic(err) - } - if res == nil { - panic("shouldn't be empty") - } - } - } - fmt.Println(total, "changes getting, spent ms", time.Now().Sub(now).Milliseconds()) - now = time.Now() - - // getting some values from tree - for _, t := range trees { - for i := 0; i < opts.numChangesInTree; i++ { - b, err := t.HasChange(changeIdKey(i)) - if err != nil { - panic(err) - } - if !b { - panic("should be able to check with has") - } - } - } - fmt.Println(total, "changes checking, spent ms", time.Now().Sub(now).Milliseconds()) - - exit := make(chan os.Signal, 1) - signal.Notify(exit, os.Interrupt, syscall.SIGKILL, syscall.SIGTERM, syscall.SIGQUIT) - sig := <-exit - for _, sp := range spaces { - err := sp.Close() - if err != nil { - panic(err) - } - } - err := creator.Close() - if err != nil { - panic(err) - } - fmt.Println(sig) -} diff --git a/util/cmd/debug/commands/client/service.go b/util/cmd/debug/commands/client/service.go deleted file mode 100644 index b5f57eac..00000000 --- a/util/cmd/debug/commands/client/service.go +++ /dev/null @@ -1,169 +0,0 @@ -package client - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/debug/clientdebugrpc/clientdebugrpcproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/drpcclient" -) - -const CName = "debug.commands.client" - -var log = logger.NewNamed(CName) - -type Service interface { - app.Component - CreateSpace(ctx context.Context, ip string, request *clientdebugrpcproto.CreateSpaceRequest) (resp *clientdebugrpcproto.CreateSpaceResponse, err error) - DeriveSpace(ctx context.Context, ip string, request *clientdebugrpcproto.DeriveSpaceRequest) (resp *clientdebugrpcproto.DeriveSpaceResponse, err error) - CreateDocument(ctx context.Context, ip string, request *clientdebugrpcproto.CreateDocumentRequest) (resp *clientdebugrpcproto.CreateDocumentResponse, err error) - DeleteDocument(ctx context.Context, ip string, request *clientdebugrpcproto.DeleteDocumentRequest) (resp *clientdebugrpcproto.DeleteDocumentResponse, err error) - AddText(ctx context.Context, ip string, request *clientdebugrpcproto.AddTextRequest) (resp *clientdebugrpcproto.AddTextResponse, err error) - DumpTree(ctx context.Context, ip string, request *clientdebugrpcproto.DumpTreeRequest) (resp *clientdebugrpcproto.DumpTreeResponse, err error) - TreeParams(ctx context.Context, ip string, request *clientdebugrpcproto.TreeParamsRequest) (resp *clientdebugrpcproto.TreeParamsResponse, err error) - AllTrees(ctx context.Context, ip string, request *clientdebugrpcproto.AllTreesRequest) (resp *clientdebugrpcproto.AllTreesResponse, err error) - AllSpaces(ctx context.Context, ip string, request *clientdebugrpcproto.AllSpacesRequest) (resp *clientdebugrpcproto.AllSpacesResponse, err error) - LoadSpace(ctx context.Context, ip string, request *clientdebugrpcproto.LoadSpaceRequest) (res *clientdebugrpcproto.LoadSpaceResponse, err error) - Watch(ctx context.Context, ip string, request *clientdebugrpcproto.WatchRequest) (res *clientdebugrpcproto.WatchResponse, err error) - Unwatch(ctx context.Context, ip string, request *clientdebugrpcproto.UnwatchRequest) (res *clientdebugrpcproto.UnwatchResponse, err error) - PutFile(ctx context.Context, ip string, request *clientdebugrpcproto.PutFileRequest) (resp *clientdebugrpcproto.PutFileResponse, err error) - GetFile(ctx context.Context, ip string, request *clientdebugrpcproto.GetFileRequest) (resp *clientdebugrpcproto.GetFileResponse, err error) - DeleteFile(ctx context.Context, ip string, request *clientdebugrpcproto.DeleteFileRequest) (resp *clientdebugrpcproto.DeleteFileResponse, err error) -} - -type service struct { - client drpcclient.Service -} - -func New() Service { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - s.client = a.MustComponent(drpcclient.CName).(drpcclient.Service) - return nil -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) CreateSpace(ctx context.Context, ip string, request *clientdebugrpcproto.CreateSpaceRequest) (resp *clientdebugrpcproto.CreateSpaceResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.CreateSpace(ctx, request) -} - -func (s *service) DeriveSpace(ctx context.Context, ip string, request *clientdebugrpcproto.DeriveSpaceRequest) (resp *clientdebugrpcproto.DeriveSpaceResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.DeriveSpace(ctx, request) -} - -func (s *service) CreateDocument(ctx context.Context, ip string, request *clientdebugrpcproto.CreateDocumentRequest) (resp *clientdebugrpcproto.CreateDocumentResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.CreateDocument(ctx, request) -} - -func (s *service) DeleteDocument(ctx context.Context, ip string, request *clientdebugrpcproto.DeleteDocumentRequest) (resp *clientdebugrpcproto.DeleteDocumentResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.DeleteDocument(ctx, request) -} - -func (s *service) AddText(ctx context.Context, ip string, request *clientdebugrpcproto.AddTextRequest) (resp *clientdebugrpcproto.AddTextResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.AddText(ctx, request) -} - -func (s *service) DumpTree(ctx context.Context, ip string, request *clientdebugrpcproto.DumpTreeRequest) (resp *clientdebugrpcproto.DumpTreeResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.DumpTree(ctx, request) -} - -func (s *service) TreeParams(ctx context.Context, ip string, request *clientdebugrpcproto.TreeParamsRequest) (resp *clientdebugrpcproto.TreeParamsResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.TreeParams(ctx, request) -} - -func (s *service) AllTrees(ctx context.Context, ip string, request *clientdebugrpcproto.AllTreesRequest) (resp *clientdebugrpcproto.AllTreesResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.AllTrees(ctx, request) -} - -func (s *service) AllSpaces(ctx context.Context, ip string, request *clientdebugrpcproto.AllSpacesRequest) (resp *clientdebugrpcproto.AllSpacesResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.AllSpaces(ctx, request) -} - -func (s *service) LoadSpace(ctx context.Context, ip string, request *clientdebugrpcproto.LoadSpaceRequest) (res *clientdebugrpcproto.LoadSpaceResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.LoadSpace(ctx, request) -} - -func (s *service) Watch(ctx context.Context, ip string, request *clientdebugrpcproto.WatchRequest) (res *clientdebugrpcproto.WatchResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.Watch(ctx, request) -} - -func (s *service) Unwatch(ctx context.Context, ip string, request *clientdebugrpcproto.UnwatchRequest) (res *clientdebugrpcproto.UnwatchResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.Unwatch(ctx, request) -} - -func (s *service) PutFile(ctx context.Context, ip string, request *clientdebugrpcproto.PutFileRequest) (resp *clientdebugrpcproto.PutFileResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.PutFile(ctx, request) -} - -func (s *service) GetFile(ctx context.Context, ip string, request *clientdebugrpcproto.GetFileRequest) (resp *clientdebugrpcproto.GetFileResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.GetFile(ctx, request) -} - -func (s *service) DeleteFile(ctx context.Context, ip string, request *clientdebugrpcproto.DeleteFileRequest) (resp *clientdebugrpcproto.DeleteFileResponse, err error) { - cl, err := s.client.GetClient(ctx, ip) - if err != nil { - return - } - return cl.DeleteFile(ctx, request) -} diff --git a/util/cmd/debug/commands/clientcmds.go b/util/cmd/debug/commands/clientcmds.go deleted file mode 100644 index 84e3a39c..00000000 --- a/util/cmd/debug/commands/clientcmds.go +++ /dev/null @@ -1,349 +0,0 @@ -package commands - -import ( - "context" - "fmt" - clientproto "github.com/anytypeio/go-anytype-infrastructure-experiments/client/debug/clientdebugrpc/clientdebugrpcproto" - "github.com/spf13/cobra" -) - -func (s *service) registerClientCommands() { - cmdCreateSpace := &cobra.Command{ - Use: "create-space", - Short: "create the space", - Args: cobra.RangeArgs(0, 0), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - resp, err := s.client.CreateSpace(context.Background(), addr, &clientproto.CreateSpaceRequest{}) - if err != nil { - fmt.Println("couldn't create a space", err) - return - } - fmt.Println(resp.Id) - }, - } - s.clientCommands = append(s.clientCommands, cmdCreateSpace) - - cmdLoadSpace := &cobra.Command{ - Use: "load-space [space]", - Short: "load the space", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - _, err := s.client.LoadSpace(context.Background(), addr, &clientproto.LoadSpaceRequest{ - SpaceId: args[0], - }) - if err != nil { - fmt.Println("couldn't load the space", err) - return - } - fmt.Println("space loaded", args[0]) - }, - } - s.clientCommands = append(s.clientCommands, cmdLoadSpace) - - cmdDeriveSpace := &cobra.Command{ - Use: "derive-space", - Short: "derive the space from account data", - Args: cobra.RangeArgs(0, 0), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - resp, err := s.client.DeriveSpace(context.Background(), addr, &clientproto.DeriveSpaceRequest{}) - if err != nil { - fmt.Println("couldn't derive a space", err) - return - } - fmt.Println(resp.Id) - }, - } - s.clientCommands = append(s.clientCommands, cmdDeriveSpace) - - cmdCreateDocument := &cobra.Command{ - Use: "create-document [space]", - Short: "create the document in a particular space", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - resp, err := s.client.CreateDocument(context.Background(), addr, &clientproto.CreateDocumentRequest{ - SpaceId: args[0], - }) - if err != nil { - fmt.Println("couldn't create a document", err) - return - } - fmt.Println(resp.Id) - }, - } - s.clientCommands = append(s.clientCommands, cmdCreateDocument) - - cmdDeleteDocument := &cobra.Command{ - Use: "delete-document [document]", - Short: "delete the document in a particular space", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - space, _ := cmd.Flags().GetString("space") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - _, err := s.client.DeleteDocument(context.Background(), addr, &clientproto.DeleteDocumentRequest{ - SpaceId: space, - DocumentId: args[0], - }) - if err != nil { - fmt.Println("couldn't delete the document", err) - return - } - fmt.Println("deleted", args[0]) - }, - } - cmdDeleteDocument.Flags().String("space", "", "the space where something is happening :-)") - cmdDeleteDocument.MarkFlagRequired("space") - s.clientCommands = append(s.clientCommands, cmdDeleteDocument) - - cmdAddText := &cobra.Command{ - Use: "add-text [text]", - Short: "add text to the document in the particular space", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - space, _ := cmd.Flags().GetString("space") - document, _ := cmd.Flags().GetString("document") - snapshot, _ := cmd.Flags().GetBool("snapshot") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - resp, err := s.client.AddText(context.Background(), addr, &clientproto.AddTextRequest{ - SpaceId: space, - DocumentId: document, - Text: args[0], - IsSnapshot: snapshot, - }) - if err != nil { - fmt.Println("couldn't add text to the document", err) - return - } - fmt.Println("added text", resp.DocumentId, "root:", resp.RootId, "head:", resp.HeadId) - }, - } - cmdAddText.Flags().String("space", "", "the space where something is happening :-)") - cmdAddText.Flags().String("document", "", "the document where something is happening :-)") - cmdAddText.Flags().Bool("snapshot", false, "tells if the snapshot should be created") - cmdAddText.MarkFlagRequired("space") - cmdAddText.MarkFlagRequired("document") - s.clientCommands = append(s.clientCommands, cmdAddText) - - cmdAllTrees := &cobra.Command{ - Use: "all-trees [space]", - Short: "print all trees in space and their heads", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - resp, err := s.client.AllTrees(context.Background(), addr, &clientproto.AllTreesRequest{ - SpaceId: args[0], - }) - if err != nil { - fmt.Println("couldn't print all the trees", err) - return - } - var res string - for treeIdx, tree := range resp.Trees { - treeStr := tree.Id + ":[" - for headIdx, head := range tree.Heads { - treeStr += head - if headIdx != len(tree.Heads)-1 { - treeStr += "," - } - } - treeStr += "]" - res += treeStr - if treeIdx != len(resp.Trees)-1 { - res += "\n" - } - } - fmt.Println(res) - }, - } - s.clientCommands = append(s.clientCommands, cmdAllTrees) - - cmdDumpTree := &cobra.Command{ - Use: "dump-tree [document]", - Short: "get graphviz description of the tree", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - space, _ := cmd.Flags().GetString("space") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - resp, err := s.client.DumpTree(context.Background(), addr, &clientproto.DumpTreeRequest{ - SpaceId: space, - DocumentId: args[0], - }) - if err != nil { - fmt.Println("couldn't dump the tree", err) - return - } - fmt.Println(resp.Dump) - }, - } - cmdDumpTree.Flags().String("space", "", "the space where something is happening :-)") - cmdDumpTree.MarkFlagRequired("space") - s.clientCommands = append(s.clientCommands, cmdDumpTree) - - cmdTreeParams := &cobra.Command{ - Use: "tree-params [document]", - Short: "print heads and root of the tree", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - space, _ := cmd.Flags().GetString("space") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - resp, err := s.client.TreeParams(context.Background(), addr, &clientproto.TreeParamsRequest{ - SpaceId: space, - DocumentId: args[0], - }) - if err != nil { - fmt.Println("couldn't print params of the tree", err) - return - } - res := resp.RootId + "->" - for headIdx, head := range resp.HeadIds { - res += head - if headIdx != len(resp.HeadIds)-1 { - res += "," - } - } - fmt.Println(res) - }, - } - cmdTreeParams.Flags().String("space", "", "the space where something is happening :-)") - cmdTreeParams.MarkFlagRequired("space") - s.clientCommands = append(s.clientCommands, cmdTreeParams) - - cmdAllSpaces := &cobra.Command{ - Use: "all-spaces", - Short: "print all spaces", - Args: cobra.RangeArgs(0, 0), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - resp, err := s.client.AllSpaces(context.Background(), addr, &clientproto.AllSpacesRequest{}) - if err != nil { - fmt.Println("couldn't print all the spaces", err) - return - } - var res string - for treeIdx, spaceId := range resp.SpaceIds { - res += spaceId - if treeIdx != len(resp.SpaceIds)-1 { - res += "\n" - } - } - fmt.Println(res) - }, - } - s.clientCommands = append(s.clientCommands, cmdAllSpaces) - - cmdTreeWatch := &cobra.Command{ - Use: "tree-watch [document]", - Short: "start watching the tree (prints in logs the status on the client side)", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - space, _ := cmd.Flags().GetString("space") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - _, err := s.client.Watch(context.Background(), addr, &clientproto.WatchRequest{ - SpaceId: space, - TreeId: args[0], - }) - if err != nil { - fmt.Println("couldn't start watching tree", err) - return - } - fmt.Println(args[0]) - }, - } - cmdTreeWatch.Flags().String("space", "", "the space where something is happening :-)") - cmdTreeWatch.MarkFlagRequired("space") - s.clientCommands = append(s.clientCommands, cmdTreeWatch) - - cmdTreeUnwatch := &cobra.Command{ - Use: "tree-unwatch [document]", - Short: "stop watching the tree (prints in logs the status on the client side)", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - cli, _ := cmd.Flags().GetString("client") - space, _ := cmd.Flags().GetString("space") - addr, ok := s.peers[cli] - if !ok { - fmt.Println("no such client") - return - } - - _, err := s.client.Unwatch(context.Background(), addr, &clientproto.UnwatchRequest{ - SpaceId: space, - TreeId: args[0], - }) - if err != nil { - fmt.Println("couldn't stop watching tree", err) - return - } - fmt.Println(args[0]) - }, - } - cmdTreeUnwatch.Flags().String("space", "", "the space where something is happening :-)") - cmdTreeUnwatch.MarkFlagRequired("space") - s.clientCommands = append(s.clientCommands, cmdTreeUnwatch) -} diff --git a/util/cmd/debug/commands/node/service.go b/util/cmd/debug/commands/node/service.go deleted file mode 100644 index 0d83d38c..00000000 --- a/util/cmd/debug/commands/node/service.go +++ /dev/null @@ -1,70 +0,0 @@ -package node - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/debug/nodedebugrpc/nodedebugrpcproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/drpcclient" -) - -const CName = "debug.commands.node" - -var log = logger.NewNamed(CName) - -type Service interface { - app.Component - DumpTree(ctx context.Context, ip string, request *nodedebugrpcproto.DumpTreeRequest) (resp *nodedebugrpcproto.DumpTreeResponse, err error) - TreeParams(ctx context.Context, ip string, request *nodedebugrpcproto.TreeParamsRequest) (resp *nodedebugrpcproto.TreeParamsResponse, err error) - AllTrees(ctx context.Context, ip string, request *nodedebugrpcproto.AllTreesRequest) (resp *nodedebugrpcproto.AllTreesResponse, err error) - AllSpaces(ctx context.Context, ip string, request *nodedebugrpcproto.AllSpacesRequest) (resp *nodedebugrpcproto.AllSpacesResponse, err error) -} - -type service struct { - client drpcclient.Service -} - -func New() Service { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - s.client = a.MustComponent(drpcclient.CName).(drpcclient.Service) - return nil -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) DumpTree(ctx context.Context, ip string, request *nodedebugrpcproto.DumpTreeRequest) (resp *nodedebugrpcproto.DumpTreeResponse, err error) { - cl, err := s.client.GetNode(ctx, ip) - if err != nil { - return - } - return cl.DumpTree(ctx, request) -} - -func (s *service) TreeParams(ctx context.Context, ip string, request *nodedebugrpcproto.TreeParamsRequest) (resp *nodedebugrpcproto.TreeParamsResponse, err error) { - cl, err := s.client.GetNode(ctx, ip) - if err != nil { - return - } - return cl.TreeParams(ctx, request) -} - -func (s *service) AllTrees(ctx context.Context, ip string, request *nodedebugrpcproto.AllTreesRequest) (resp *nodedebugrpcproto.AllTreesResponse, err error) { - cl, err := s.client.GetNode(ctx, ip) - if err != nil { - return - } - return cl.AllTrees(ctx, request) -} - -func (s *service) AllSpaces(ctx context.Context, ip string, request *nodedebugrpcproto.AllSpacesRequest) (resp *nodedebugrpcproto.AllSpacesResponse, err error) { - cl, err := s.client.GetNode(ctx, ip) - if err != nil { - return - } - return cl.AllSpaces(ctx, request) -} diff --git a/util/cmd/debug/commands/nodecmds.go b/util/cmd/debug/commands/nodecmds.go deleted file mode 100644 index 572cd710..00000000 --- a/util/cmd/debug/commands/nodecmds.go +++ /dev/null @@ -1,141 +0,0 @@ -package commands - -import ( - "context" - "fmt" - nodeproto "github.com/anytypeio/go-anytype-infrastructure-experiments/node/debug/nodedebugrpc/nodedebugrpcproto" - "github.com/spf13/cobra" -) - -func (s *service) registerNodeCommands() { - cmdAllTrees := &cobra.Command{ - Use: "all-trees [space]", - Short: "print all trees in space and their heads", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - nd, _ := cmd.Flags().GetString("node") - addr, ok := s.peers[nd] - if !ok { - fmt.Println("no such node") - return - } - - resp, err := s.node.AllTrees(context.Background(), addr, &nodeproto.AllTreesRequest{ - SpaceId: args[0], - }) - if err != nil { - fmt.Println("couldn't print all the trees", err) - return - } - var res string - for treeIdx, tree := range resp.Trees { - treeStr := tree.Id + ":[" - for headIdx, head := range tree.Heads { - treeStr += head - if headIdx != len(tree.Heads)-1 { - treeStr += "," - } - } - treeStr += "]" - res += treeStr - if treeIdx != len(resp.Trees)-1 { - res += "\n" - } - } - fmt.Println(res) - }, - } - s.nodeCommands = append(s.nodeCommands, cmdAllTrees) - - cmdDumpTree := &cobra.Command{ - Use: "dump-tree [space]", - Short: "get graphviz description of the tree", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - nd, _ := cmd.Flags().GetString("node") - space, _ := cmd.Flags().GetString("space") - addr, ok := s.peers[nd] - if !ok { - fmt.Println("no such node") - return - } - - resp, err := s.node.DumpTree(context.Background(), addr, &nodeproto.DumpTreeRequest{ - SpaceId: space, - DocumentId: args[0], - }) - if err != nil { - fmt.Println("couldn't dump the tree", err) - return - } - fmt.Println(resp.Dump) - }, - } - cmdDumpTree.Flags().String("space", "", "the space where something is happening :-)") - cmdDumpTree.MarkFlagRequired("space") - s.nodeCommands = append(s.nodeCommands, cmdDumpTree) - - cmdTreeParams := &cobra.Command{ - Use: "tree-params [document]", - Short: "print heads and root of the tree", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - nd, _ := cmd.Flags().GetString("node") - space, _ := cmd.Flags().GetString("space") - addr, ok := s.peers[nd] - if !ok { - fmt.Println("no such node") - return - } - - resp, err := s.node.TreeParams(context.Background(), addr, &nodeproto.TreeParamsRequest{ - SpaceId: space, - DocumentId: args[0], - }) - if err != nil { - fmt.Println("couldn't print params of the tree", err) - return - } - res := resp.RootId + "->" - for headIdx, head := range resp.HeadIds { - res += head - if headIdx != len(resp.HeadIds)-1 { - res += "," - } - } - fmt.Println(res) - }, - } - cmdTreeParams.Flags().String("space", "", "the space where something is happening :-)") - cmdTreeParams.MarkFlagRequired("space") - s.nodeCommands = append(s.nodeCommands, cmdTreeParams) - - cmdAllSpaces := &cobra.Command{ - Use: "all-spaces", - Short: "print all spaces", - Args: cobra.RangeArgs(0, 0), - Run: func(cmd *cobra.Command, args []string) { - nd, _ := cmd.Flags().GetString("node") - addr, ok := s.peers[nd] - if !ok { - fmt.Println("no such node") - return - } - - resp, err := s.node.AllSpaces(context.Background(), addr, &nodeproto.AllSpacesRequest{}) - if err != nil { - fmt.Println("couldn't print all the spaces", err) - return - } - var res string - for treeIdx, spaceId := range resp.SpaceIds { - res += spaceId - if treeIdx != len(resp.SpaceIds)-1 { - res += "\n" - } - } - fmt.Println(res) - }, - } - s.nodeCommands = append(s.nodeCommands, cmdAllSpaces) -} diff --git a/util/cmd/debug/commands/nodesmap.go b/util/cmd/debug/commands/nodesmap.go deleted file mode 100644 index 1618681e..00000000 --- a/util/cmd/debug/commands/nodesmap.go +++ /dev/null @@ -1,15 +0,0 @@ -package commands - -type NodesMap struct { - Nodes []struct { - Addresses []string `yaml:"grpcAddresses"` - APIAddresses []string `yaml:"apiAddresses"` - } `yaml:"nodes"` - Consensus []struct { - Addresses []string `yaml:"grpcAddresses"` - } - Clients []struct { - Addresses []string `yaml:"grpcAddresses"` - APIAddresses []string `yaml:"apiAddresses"` - } -} diff --git a/util/cmd/debug/commands/scripts.go b/util/cmd/debug/commands/scripts.go deleted file mode 100644 index fcb81d41..00000000 --- a/util/cmd/debug/commands/scripts.go +++ /dev/null @@ -1,354 +0,0 @@ -package commands - -import ( - "context" - "fmt" - clientproto "github.com/anytypeio/go-anytype-infrastructure-experiments/client/api/apiproto" - nodeproto "github.com/anytypeio/go-anytype-infrastructure-experiments/node/api/apiproto" - "github.com/spf13/cobra" - "github.com/zeebo/errs" - "golang.org/x/exp/slices" - "math/rand" - "strings" - "sync" - "time" -) - -type DebugClient struct { - name string - address string -} - -func keepChecking(fn func() bool, finished chan bool) { - ticker := time.NewTicker(time.Second * 1) - - go func() { - for { - select { - case <-ticker.C: - if fn() { - finished <- true - ticker.Stop() - return - } - } - } - }() - - <-finished -} - -func containsFunc[E comparable](s []E, f func(E) bool) bool { - return slices.IndexFunc(s, f) >= 0 -} - -func iterate(shouldStop func(iteration int) bool, wg *sync.WaitGroup, iterationCount int) { - ticker := time.NewTicker(time.Millisecond * 10) - defer wg.Done() - defer ticker.Stop() - for i := 0; i < iterationCount; i++ { - select { - case <-ticker.C: - if shouldStop(i) { - return - } - } - } -} - -func (s *service) registerScripts() { - cmdAddTextMany := &cobra.Command{ - Use: "add-text-many [text]", - Short: "add text to the document in the particular space in many clients at the same time with randomized snapshots", - Args: cobra.RangeArgs(1, 1), - Run: func(cmd *cobra.Command, args []string) { - clients, _ := cmd.Flags().GetString("clients") - space, _ := cmd.Flags().GetString("space") - document, _ := cmd.Flags().GetString("document") - times, _ := cmd.Flags().GetInt("times") - if times <= 0 { - fmt.Println("the times parameter should be more than 0") - return - } - var addresses []string - for _, cl := range strings.Split(clients, ",") { - if len(cl) == 0 { - continue - } - addr, ok := s.peers[cl] - if !ok { - fmt.Println("no such client") - return - } - - addresses = append(addresses, addr) - } - - wg := &sync.WaitGroup{} - var mError errs.Group - createMany := func(address string) { - defer wg.Done() - for i := 0; i < times; i++ { - _, err := s.client.AddText(context.Background(), address, &clientproto.AddTextRequest{ - SpaceId: space, - DocumentId: document, - Text: args[0], - IsSnapshot: rand.Int()%10 == 0, - }) - if err != nil { - mError.Add(err) - return - } - } - } - for _, p := range addresses { - wg.Add(1) - go createMany(p) - } - wg.Wait() - if mError.Err() != nil { - fmt.Println("got errors while executing add many", mError.Err()) - return - } - return - }, - } - cmdAddTextMany.Flags().String("space", "", "the space where something is happening :-)") - cmdAddTextMany.Flags().String("document", "", "the document where something is happening :-)") - cmdAddTextMany.Flags().String("clients", "", "the aliases of clients with value separated by comma") - cmdAddTextMany.Flags().Int("times", 1, "how many times we should add the change") - cmdAddTextMany.MarkFlagRequired("space") - cmdAddTextMany.MarkFlagRequired("document") - cmdAddTextMany.MarkFlagRequired("clients") - s.scripts = append(s.scripts, cmdAddTextMany) - - integration := &cobra.Command{ - Use: "integration-tests", - Short: "integration-tests", - Args: cobra.RangeArgs(0, 0), - Run: func(cmd *cobra.Command, args []string) { - documentsCount, _ := cmd.Flags().GetInt("documents") - - node1, node2, node3 := - DebugClient{ - name: "Node1", - address: s.peers["node1"], - }, - DebugClient{ - name: "Node2", - address: s.peers["node2"], - }, - DebugClient{ - name: "Node3", - address: s.peers["node3"], - } - - nodes := []DebugClient{node1, node2, node3} - - start := time.Now() - elapsedFunc := func() time.Duration { return time.Since(start) } - - print := func(output string) { - fmt.Printf("%s | %s \n", output, elapsedFunc()) - } - - createSpace := func(client DebugClient) string { - space, err := s.client.CreateSpace(context.Background(), client.address, &clientproto.CreateSpaceRequest{}) - - if err != nil { - panic("can't create a space") - } - - print(fmt.Sprintf("%s: Created a space with id %s", client.name, space.Id)) - - return space.Id - } - - nodesDocumentHeads := func(docId string, spaceId string) map[string][]string { - var dictionary = map[string][]string{} - for _, node := range nodes { - resp, _ := s.node.TreeParams(context.Background(), node.address, &nodeproto.TreeParamsRequest{ - SpaceId: spaceId, - DocumentId: docId, - }) - - dictionary[node.name] = resp.GetHeadIds() - } - - return dictionary - } - - waitUntilLoadSpace := func(spaceId string, client DebugClient) bool { - print(fmt.Sprintf("%s: Trying to load space with id %s", client.name, spaceId)) - - _, err := s.client.LoadSpace(context.Background(), client.address, &clientproto.LoadSpaceRequest{spaceId}) - - if err != nil { - return false - } - - print(fmt.Sprintf("%s: Did load space with id %s", client.name, spaceId)) - - return true - } - - waitUntilSpaceExists := func(groupId string, client DebugClient) bool { - allSpaces, err := s.client.AllSpaces(context.Background(), client.address, &clientproto.AllSpacesRequest{}) - if err != nil { - panic("can't retrieve all spaces") - } - - print(fmt.Sprintf("%s: contains %s, %t", client, groupId, slices.Contains(allSpaces.SpaceIds, groupId))) - return slices.Contains(allSpaces.SpaceIds, groupId) - } - - waitUntilDocumentExists := func(client DebugClient, spaceId string, documentId string) bool { - rs, _ := s.client.AllTrees(context.Background(), client.address, &clientproto.AllTreesRequest{SpaceId: spaceId}) - - contains := containsFunc(rs.Trees, func(c *clientproto.Tree) bool { - return c.Id == documentId - }) - - if !contains { - print(fmt.Sprintf("%s doesn't contain a document %s", client.name, documentId)) - fmt.Println(nodesDocumentHeads(documentId, spaceId)) - } else { - print(fmt.Sprintf("%s contains a document %s", client.name, documentId)) - } - - return contains - } - - addTextFunc := func(iterationNumber int, client DebugClient, spaceId string, documentId string) bool { - randText := func(nonce int) string { - rand.Seed(time.Now().UnixNano()) - buf := make([]byte, nonce*3) - rand.Read(buf) - return string(buf) - } - - r, err := s.client.AddText(context.Background(), client.address, &clientproto.AddTextRequest{ - SpaceId: spaceId, - DocumentId: documentId, - Text: randText(iterationNumber), - IsSnapshot: false, - }) - - if err != nil { - print(client.address + err.Error()) - return true - } else { - print(fmt.Sprintf("%s: Did add text to document %s, head: %s, text: %d", client.name, r.DocumentId, r.HeadId, iterationNumber)) - } - - return false - } - - createDocumentFunc := func(client DebugClient, spaceId string) string { - docResponse, err := s.client.CreateDocument(context.Background(), client.address, &clientproto.CreateDocumentRequest{SpaceId: spaceId}) - - if err != nil { - panic("can't create a document") - } - - print(fmt.Sprintf("%s: Created a document in space %s with id %s", client.name, spaceId, docResponse.Id)) - return docResponse.Id - } - - _ = func(wg *sync.WaitGroup, client DebugClient, spaceId string, docId string) { - time.Sleep(2) - - documentDeletion := func() bool { - print("Will remove document with id" + spaceId + "." + docId) - - _, err := s.client.DeleteDocument(context.Background(), client.address, &clientproto.DeleteDocumentRequest{ - SpaceId: spaceId, - DocumentId: docId, - }) - - return err == nil - } - - var finita = make(chan bool) - go keepChecking(func() bool { return documentDeletion() }, finita) - - wg.Done() - } - - checkHeadsEqual := func(client1 DebugClient, client2 DebugClient, spaceId string, docId string) bool { - rs1, _ := s.client.TreeParams(context.Background(), client1.address, &clientproto.TreeParamsRequest{ - SpaceId: spaceId, - DocumentId: docId, - }) - rs2, _ := s.client.TreeParams(context.Background(), client2.address, &clientproto.TreeParamsRequest{ - SpaceId: spaceId, - DocumentId: docId, - }) - - print(fmt.Sprintf("%s document %s head is %v", client1.name, docId, rs1.GetHeadIds())) - print(fmt.Sprintf("%s document %s head is %v", client2.name, docId, rs2.GetHeadIds())) - - if rs1.GetHeadIds() == nil || rs1.GetHeadIds() == nil { - fmt.Println(nodesDocumentHeads(docId, spaceId)) - print("Some head is nil") - return false - } - - return slices.Equal(rs1.GetHeadIds(), rs2.GetHeadIds()) - } - - client1, client2 := DebugClient{ - name: "Client1", - address: s.peers["client1"], - }, DebugClient{ - name: "Client2", - address: s.peers["client2"], - } - - singleTest := func(testGroup *sync.WaitGroup, spaceId string) { - wg := sync.WaitGroup{} - finished := make(chan bool) - - documentId := createDocumentFunc(client2, spaceId) - keepChecking(func() bool { return waitUntilDocumentExists(client1, spaceId, documentId) }, finished) - - wg.Add(2) - go iterate(func(iteration int) bool { - return addTextFunc(iteration, client2, spaceId, documentId) - }, &wg, 70) - go iterate(func(iteration int) bool { - return addTextFunc(iteration, client1, spaceId, documentId) - }, &wg, 100) - - wg.Wait() - - keepChecking(func() bool { return checkHeadsEqual(client1, client2, spaceId, documentId) }, finished) - - print("The End") - - testGroup.Done() - } - - // Start - finished := make(chan bool) - spaceId := createSpace(client1) - - keepChecking(func() bool { return waitUntilLoadSpace(spaceId, client2) }, finished) - keepChecking(func() bool { return waitUntilSpaceExists(spaceId, client2) }, finished) - - wg := sync.WaitGroup{} - - wg.Add(documentsCount) - for i := 0; i < documentsCount; i++ { - go singleTest(&wg, spaceId) - } - - wg.Wait() - - print("Directed by robert b weide") - }, - } - - integration.Flags().Int("documents", 50, "how many documents would be created") - s.scripts = append(s.scripts, integration) -} diff --git a/util/cmd/debug/commands/service.go b/util/cmd/debug/commands/service.go deleted file mode 100644 index c34c4d7d..00000000 --- a/util/cmd/debug/commands/service.go +++ /dev/null @@ -1,112 +0,0 @@ -package commands - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/commands/client" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/commands/node" - "github.com/spf13/cobra" - "gopkg.in/yaml.v3" - "io/ioutil" -) - -const CName = "debug.commands" - -var log = logger.NewNamed(CName) - -type Service interface { - app.ComponentRunnable -} - -type service struct { - client client.Service - node node.Service - peers map[string]string - clientCommands []*cobra.Command - nodeCommands []*cobra.Command - scripts []*cobra.Command -} - -func New() Service { - return &service{} -} - -func (s *service) Close(ctx context.Context) (err error) { - return nil -} - -func (s *service) Init(a *app.App) (err error) { - s.client = a.MustComponent(client.CName).(client.Service) - s.node = a.MustComponent(node.CName).(node.Service) - s.peers = map[string]string{} - s.registerClientCommands() - s.registerNodeCommands() - s.registerScripts() - - return nil -} - -func (s *service) Run(ctx context.Context) (err error) { - rootCmd := &cobra.Command{Use: "debug", PersistentPreRun: func(cmd *cobra.Command, args []string) { - cfgPath, err := cmd.Flags().GetString("nodemap") - if err != nil { - panic(fmt.Sprintf("no config flag is registered: %s", err.Error())) - } - err = s.parseAddresses(cfgPath) - if err != nil { - panic(fmt.Sprintf("couldn't load config with addresses of nodes: %s", err.Error())) - } - }} - rootCmd.PersistentFlags().String("nodemap", "util/cmd/nodesgen/nodemap.yml", "nodes configuration") - - clientCmd := &cobra.Command{Use: "client commands to be executed on a specified client"} - clientCmd.PersistentFlags().StringP("client", "c", "", "the alias of the client") - clientCmd.MarkFlagRequired("client") - for _, cmd := range s.clientCommands { - clientCmd.AddCommand(cmd) - } - rootCmd.AddCommand(clientCmd) - - nodeCmd := &cobra.Command{Use: "node commands to be executed on a node"} - nodeCmd.PersistentFlags().StringP("node", "n", "", "the alias of the node") - nodeCmd.MarkFlagRequired("node") - for _, cmd := range s.nodeCommands { - nodeCmd.AddCommand(cmd) - } - rootCmd.AddCommand(nodeCmd) - - scriptsCmd := &cobra.Command{Use: "script which can have arbitrary params and can include mutliple clients and nodes"} - for _, cmd := range s.scripts { - scriptsCmd.AddCommand(cmd) - } - rootCmd.AddCommand(scriptsCmd) - - return rootCmd.Execute() -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) parseAddresses(path string) (err error) { - nodesMap := &NodesMap{} - data, err := ioutil.ReadFile(path) - if err != nil { - return err - } - - err = yaml.Unmarshal(data, nodesMap) - if err != nil { - return err - } - - for idx, n := range nodesMap.Nodes { - s.peers[fmt.Sprintf("node%d", idx+1)] = n.APIAddresses[0] - } - for idx, c := range nodesMap.Clients { - s.peers[fmt.Sprintf("client%d", idx+1)] = c.APIAddresses[0] - } - return nil -} diff --git a/util/cmd/debug/debug.go b/util/cmd/debug/debug.go deleted file mode 100644 index 8754ba61..00000000 --- a/util/cmd/debug/debug.go +++ /dev/null @@ -1,55 +0,0 @@ -package main - -import ( - "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/commands" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/commands/client" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/commands/node" - "github.com/anytypeio/go-anytype-infrastructure-experiments/util/cmd/debug/drpcclient" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "net/http" - "os" -) - -var log = logger.NewNamed("main") - -func init() { - config := zap.NewProductionEncoderConfig() - config.EncodeTime = zapcore.ISO8601TimeEncoder - - logFile, err := os.OpenFile("debug.json", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) - if err != nil { - panic(err) - } - - core := zapcore.NewCore(zapcore.NewJSONEncoder(config), zapcore.AddSync(logFile), zapcore.DebugLevel) - logger.SetDefault(zap.New(core, zap.AddCaller(), zap.AddStacktrace(zapcore.ErrorLevel))) -} - -func main() { - if debug, ok := os.LookupEnv("ANYPROF"); ok && debug != "" { - go func() { - http.ListenAndServe(debug, nil) - }() - } - - // create app - ctx := context.Background() - a := new(app.App) - Bootstrap(a) - - // start app - if err := a.Start(ctx); err != nil { - log.Fatal("can't start app", zap.Error(err)) - } -} - -func Bootstrap(a *app.App) { - a.Register(drpcclient.New()). - Register(client.New()). - Register(node.New()). - Register(commands.New()) -} diff --git a/util/cmd/debug/drpcclient/service.go b/util/cmd/debug/drpcclient/service.go deleted file mode 100644 index 8a374170..00000000 --- a/util/cmd/debug/drpcclient/service.go +++ /dev/null @@ -1,90 +0,0 @@ -package drpcclient - -import ( - "context" - clientproto "github.com/anytypeio/go-anytype-infrastructure-experiments/client/debug/clientdebugrpc/clientdebugrpcproto" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/ocache" - nodeproto "github.com/anytypeio/go-anytype-infrastructure-experiments/node/debug/nodedebugrpc/nodedebugrpcproto" - "net" - "storj.io/drpc/drpcconn" - "time" -) - -type Service interface { - GetClient(ctx context.Context, ip string) (clientproto.DRPCClientApiClient, error) - GetNode(ctx context.Context, ip string) (nodeproto.DRPCNodeApiClient, error) - app.ComponentRunnable -} - -const CName = "debug.drpcclient" - -var log = logger.NewNamed(CName) - -type service struct { - cache ocache.OCache -} - -func New() Service { - return &service{} -} - -func (s *service) Init(a *app.App) (err error) { - s.cache = ocache.New( - func(ctx context.Context, ip string) (value ocache.Object, err error) { - conn, err := net.Dial("tcp", ip) - if err != nil { - return - } - value = drpcconn.New(conn) - return - }, - ocache.WithLogger(log.Sugar()), - ocache.WithGCPeriod(time.Minute), - ocache.WithTTL(time.Minute*5), - ) - return nil -} - -func (s *service) Name() (name string) { - return CName -} - -func (s *service) Run(ctx context.Context) (err error) { - return nil -} - -func (s *service) GetClient(ctx context.Context, ip string) (clientproto.DRPCClientApiClient, error) { - v, err := s.cache.Get(ctx, ip) - if err != nil { - return nil, err - } - conn := v.(*drpcconn.Conn) - select { - case <-conn.Closed(): - default: - return clientproto.NewDRPCClientApiClient(conn), nil - } - s.cache.Remove(ip) - return s.GetClient(ctx, ip) -} - -func (s *service) GetNode(ctx context.Context, ip string) (nodeproto.DRPCNodeApiClient, error) { - v, err := s.cache.Get(ctx, ip) - if err != nil { - return nil, err - } - conn := v.(*drpcconn.Conn) - select { - case <-conn.Closed(): - default: - return nodeproto.NewDRPCNodeApiClient(conn), nil - } - s.cache.Remove(ip) - return s.GetNode(ctx, ip) -} - -func (s *service) Close(ctx context.Context) (err error) { - return s.cache.Close() -} diff --git a/util/cmd/deploy/deploy.go b/util/cmd/deploy/deploy.go deleted file mode 100644 index 39a23ced..00000000 --- a/util/cmd/deploy/deploy.go +++ /dev/null @@ -1,368 +0,0 @@ -package main - -import ( - "context" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" - "github.com/spf13/cobra" - "go.uber.org/zap" - "os" - "os/exec" - "path" - "path/filepath" - "sync" -) - -var log = logger.NewNamed("cmd.deploy") - -type rootArgs struct { - configPath string - nodePkgPath string - nodeBinaryPath string - clientPkgPath string - clientBinaryPath string - fileNodePkgPath string - fileNodeBinaryPath string - dbPath string - initialPath string - - nodePkgName string - clientPkgName string - fileNodePkgName string - - isDebug bool -} - -type appPath struct { - wdPath string - binaryPath string - configPath string - logPath string - debugPortNum int - isDebug bool -} - -const ( - anytypeClientBinaryName = "anytype-client" - anytypeNodeBinaryName = "anytype-node" - anytypeFileNodeBinaryName = "anytype-file" -) - -var rootCmd = &cobra.Command{ - Use: "deploy", - PersistentPreRun: func(cmd *cobra.Command, args []string) { - rootArguments := rootArgs{} - - rootArguments.nodePkgName, _ = cmd.Flags().GetString("node-pkg") - rootArguments.clientPkgName, _ = cmd.Flags().GetString("client-pkg") - rootArguments.fileNodePkgName, _ = cmd.Flags().GetString("filenode-pkg") - - // checking configs - cfgPath, _ := cmd.Flags().GetString("config-path") - if _, err := os.Stat(cfgPath); os.IsNotExist(err) { - log.With(zap.Error(err)).Fatal("the config directory doesn't exist") - } - rootArguments.configPath, _ = filepath.Abs(cfgPath) - - // checking node package - nodePath, _ := cmd.Flags().GetString("node-path") - if _, err := os.Stat(path.Join(nodePath, "go.mod")); os.IsNotExist(err) { - log.With(zap.Error(err)).Fatal("the path to node does not contain a go module") - } - rootArguments.nodePkgPath, _ = filepath.Abs(nodePath) - - // checking client package - clientPath, _ := cmd.Flags().GetString("client-path") - if _, err := os.Stat(path.Join(clientPath, "go.mod")); os.IsNotExist(err) { - log.With(zap.Error(err)).Fatal("the path to client does not contain a go module") - } - rootArguments.clientPkgPath, _ = filepath.Abs(clientPath) - - // checking file-node package - fileNodePath, _ := cmd.Flags().GetString("file-node-path") - if _, err := os.Stat(path.Join(clientPath, "go.mod")); os.IsNotExist(err) { - log.With(zap.Error(err)).Fatal("the path to file-node does not contain a go module") - } - rootArguments.fileNodePkgPath, _ = filepath.Abs(fileNodePath) - - // checking binary path - binaryPath, _ := cmd.Flags().GetString("bin-path") - err := createDirectoryIfNotExists(binaryPath) - if err != nil { - log.With(zap.Error(err)).Fatal("failed to create directory") - } - - absoluteBinPath, _ := filepath.Abs(binaryPath) - rootArguments.clientBinaryPath = path.Join(absoluteBinPath, anytypeClientBinaryName) - rootArguments.nodeBinaryPath = path.Join(absoluteBinPath, anytypeNodeBinaryName) - rootArguments.fileNodeBinaryPath = path.Join(absoluteBinPath, anytypeFileNodeBinaryName) - - // getting debug mode - rootArguments.isDebug, _ = cmd.Flags().GetBool("debug") - - // checking db path - dbPath, _ := cmd.Flags().GetString("db-path") - err = createDirectoryIfNotExists(dbPath) - if err != nil { - log.With(zap.Error(err)).Fatal("failed to create directory") - } - rootArguments.dbPath, _ = filepath.Abs(dbPath) - - ctx := context.WithValue(context.Background(), "rootArguments", rootArguments) - cmd.SetContext(ctx) - }, -} - -var buildRunAllCmd = &cobra.Command{ - Use: "build-run-all", - Long: "build and then run all clients and nodes", - Run: func(cmd *cobra.Command, args []string) { - rootArguments, ok := cmd.Context().Value("rootArguments").(rootArgs) - if !ok { - log.Fatal("did not get context") - } - - numNodes, _ := cmd.Flags().GetUint("nodes") - numClients, _ := cmd.Flags().GetUint("clients") - numFileNodes, _ := cmd.Flags().GetUint("filenodes") - - // running the script - err := buildRunAll(rootArguments, numClients, numNodes, numFileNodes) - if err != nil { - log.With(zap.Error(err)).Fatal("failed to run the command") - } - }, -} - -var buildAllCmd = &cobra.Command{ - Use: "build-all", - Long: "builds both the clients and nodes", - Run: func(cmd *cobra.Command, args []string) { - rootArguments, ok := cmd.Context().Value("rootArguments").(rootArgs) - if !ok { - log.Fatal("did not get context") - } - - err := buildAll(rootArguments) - if err != nil { - log.With(zap.Error(err)).Fatal("failed to run the command") - return - } - }, -} - -var runAllCmd = &cobra.Command{ - Use: "run-all", - Long: "runs all clients and nodes", - Run: func(cmd *cobra.Command, args []string) { - rootArguments, ok := cmd.Context().Value("rootArguments").(rootArgs) - if !ok { - log.Fatal("did not get context") - } - - numNodes, _ := cmd.Flags().GetUint("nodes") - numClients, _ := cmd.Flags().GetUint("clients") - numFileNodes, _ := cmd.Flags().GetUint("filenodes") - - err := runAll(rootArguments, numClients, numNodes, numFileNodes) - if err != nil { - log.With(zap.Error(err)).Fatal("failed to run the command") - return - } - }, -} - -func init() { - rootCmd.PersistentFlags().String("config-path", "etc/configs", "generated configs") - rootCmd.PersistentFlags().String("node-pkg", "github.com/anytypeio/go-anytype-infrastructure-experiments/node/cmd", "node package") - rootCmd.PersistentFlags().String("client-pkg", "github.com/anytypeio/go-anytype-infrastructure-experiments/client/cmd", "client package") - rootCmd.PersistentFlags().String("filenode-pkg", "github.com/anytypeio/go-anytype-infrastructure-experiments/filenode/cmd", "client package") - rootCmd.PersistentFlags().String("node-path", "node", "path to node go.mod") - rootCmd.PersistentFlags().String("client-path", "client", "path to client go.mod") - rootCmd.PersistentFlags().String("filenode-path", "filenode", "path to client go.mod") - rootCmd.PersistentFlags().String("bin-path", "bin", "path to folder where all the binaries are") - rootCmd.PersistentFlags().String("db-path", "db", "path to folder where the working directories should be placed") - rootCmd.PersistentFlags().Bool("debug", false, "this tells if we should run the profiler") - - buildRunAllCmd.Flags().UintP("nodes", "n", 3, "number of nodes to be generated") - buildRunAllCmd.Flags().UintP("clients", "c", 2, "number of clients to be generated") - buildRunAllCmd.Flags().UintP("filenodes", "f", 1, "number of filenodes to be generated") - - runAllCmd.Flags().UintP("nodes", "n", 3, "number of nodes to be generated") - runAllCmd.Flags().UintP("clients", "c", 2, "number of clients to be generated") - runAllCmd.Flags().UintP("filenodes", "f", 1, "number of clients to be generated") - - rootCmd.AddCommand(buildRunAllCmd) - rootCmd.AddCommand(buildAllCmd) - rootCmd.AddCommand(runAllCmd) -} - -func main() { - err := rootCmd.Execute() - if err != nil { - log.With(zap.Error(err)).Fatal("failed to execute the command") - } -} - -func createDirectoryIfNotExists(dirPath string) (err error) { - if _, err = os.Stat(dirPath); !os.IsNotExist(err) { - return - } - return os.Mkdir(dirPath, os.ModePerm) -} - -func createAppPaths(args rootArgs, binaryPath, appName string, portNum, num int) (appPaths []appPath, err error) { - appTypePath := path.Join(args.dbPath, appName) - err = createDirectoryIfNotExists(appTypePath) - if err != nil { - return - } - - for i := 0; i < num; i++ { - // checking if relevant config exists - cfgPath := path.Join(args.configPath, fmt.Sprintf("%s%d.yml", appName, i+1)) - if _, err = os.Stat(cfgPath); os.IsNotExist(err) { - err = fmt.Errorf("not enough %s configs are generated: %w", appName, err) - return - } - - // creating directory for each app - resPath := path.Join(appTypePath, fmt.Sprintf("%d", i+1)) - err = createDirectoryIfNotExists(resPath) - if err != nil { - return - } - - appPaths = append(appPaths, appPath{ - wdPath: resPath, - binaryPath: binaryPath, - configPath: cfgPath, - logPath: path.Join(resPath, "app.log"), - debugPortNum: portNum + i + 1, - isDebug: args.isDebug, - }) - } - return -} - -func buildRunAll(args rootArgs, numClients, numNodes, numFileNodes uint) (err error) { - err = buildAll(args) - if err != nil { - err = fmt.Errorf("failed to build all: %w", err) - return - } - - return runAll(args, numClients, numNodes, numFileNodes) -} - -func runAll(args rootArgs, numClients, numNodes, numFileNodes uint) (err error) { - nodePaths, err := createAppPaths(args, args.nodeBinaryPath, "node", 6060, int(numNodes)) - if err != nil { - err = fmt.Errorf("failed to create working directories for nodes: %w", err) - return - } - - clientPaths, err := createAppPaths(args, args.clientBinaryPath, "client", 6070, int(numClients)) - if err != nil { - err = fmt.Errorf("failed to create working directories for clients: %w", err) - return - } - - filePaths, err := createAppPaths(args, args.fileNodeBinaryPath, "file", 6080, int(numFileNodes)) - if err != nil { - err = fmt.Errorf("failed to create working directories for clients: %w", err) - return - } - wg := sync.WaitGroup{} - for _, nodePath := range nodePaths { - wg.Add(1) - go func(path appPath) { - err = runApp(path, &wg) - if err != nil { - log.With(zap.Error(err)).Error("running node failed with error") - } - }(nodePath) - } - for _, clientPath := range clientPaths { - wg.Add(1) - go func(path appPath) { - err = runApp(path, &wg) - if err != nil { - log.With(zap.Error(err)).Error("running client failed with error") - } - }(clientPath) - } - for _, filePath := range filePaths { - wg.Add(1) - go func(path appPath) { - err = runApp(path, &wg) - if err != nil { - log.With(zap.Error(err)).Error("running filenode failed with error") - } - }(filePath) - } - wg.Wait() - return -} - -func buildAll(args rootArgs) (err error) { - err = build(args.nodePkgPath, args.nodeBinaryPath, args.nodePkgName) - if err != nil { - err = fmt.Errorf("failed to build node: %w", err) - return - } - - err = build(args.clientPkgPath, args.clientBinaryPath, args.clientPkgName) - if err != nil { - err = fmt.Errorf("failed to build client: %w", err) - return - } - - err = build(args.fileNodePkgPath, args.fileNodeBinaryPath, args.fileNodePkgName) - if err != nil { - err = fmt.Errorf("failed to build filenode: %w", err) - return - } - return -} - -func build(dirPath, binaryPath, packageName string) (err error) { - cmd := exec.Command("go", "build", "-v", "-o", binaryPath, packageName) - cmd.Dir = dirPath - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - err = cmd.Start() - if err != nil { - return - } - log.With(zap.String("cmd", cmd.String())).Info("building the app") - return cmd.Wait() -} - -func runApp(app appPath, wg *sync.WaitGroup) (err error) { - cmd := exec.Command(app.binaryPath, "-c", app.configPath) - cmd.Dir = app.wdPath - log := log - if app.isDebug { - log = log.With(zap.String("debug on", fmt.Sprintf("localhost:%d/debug/pprof", app.debugPortNum))) - cmd.Env = os.Environ() - cmd.Env = append(cmd.Env, fmt.Sprintf("ANYPROF=127.0.0.1:%d", app.debugPortNum)) - } - - file, err := os.OpenFile(app.logPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, os.ModePerm) - if err != nil { - return - } - defer file.Close() - cmd.Stdout = file - cmd.Stderr = file - err = cmd.Start() - log.With(zap.String("working directory", app.wdPath), zap.String("log path", app.logPath)).Info("running the app") - if err != nil { - return - } - - err = cmd.Wait() - wg.Done() - return -} diff --git a/util/cmd/nodesgen/gen.go b/util/cmd/nodesgen/gen.go deleted file mode 100644 index 84b1de2d..00000000 --- a/util/cmd/nodesgen/gen.go +++ /dev/null @@ -1,412 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/client/badgerprovider" - clconfig "github.com/anytypeio/go-anytype-infrastructure-experiments/client/config" - commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/accountservice" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/nodeconf" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/encryptionkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/peer" - consconfig "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/config" - fconfig "github.com/anytypeio/go-anytype-infrastructure-experiments/filenode/config" - config "github.com/anytypeio/go-anytype-infrastructure-experiments/node/config" - "github.com/anytypeio/go-anytype-infrastructure-experiments/node/storage" - "gopkg.in/yaml.v3" - "io/ioutil" - "os" -) - -var ( - flagNodeMap = flag.String("n", "util/cmd/nodesgen/nodemap.yml", "path to nodes map file") - flagEtcPath = flag.String("e", "etc", "path to etc directory") -) - -type NodesMap struct { - Nodes []struct { - Addresses []string `yaml:"grpcAddresses"` - APIAddresses []string `yaml:"apiAddresses"` - } `yaml:"nodes"` - Consensus []struct { - Addresses []string `yaml:"grpcAddresses"` - } - FileNodes []struct { - Addresses []string `yaml:"grpcAddresses"` - } `yaml:"fileNodes""` - Clients []struct { - Addresses []string `yaml:"grpcAddresses"` - APIAddresses []string `yaml:"apiAddresses"` - } -} - -func main() { - flag.Parse() - nodesMap := &NodesMap{} - data, err := ioutil.ReadFile(*flagNodeMap) - if err != nil { - panic(err) - } - - err = yaml.Unmarshal(data, nodesMap) - if err != nil { - panic(err) - } - - var configs []config.Config - var nodes []nodeconf.NodeConfig - for i, n := range nodesMap.Nodes { - cfg, err := genNodeConfig(n.Addresses, n.APIAddresses, i+1) - if err != nil { - panic(fmt.Sprintf("could not generate the config file: %s", err.Error())) - } - configs = append(configs, cfg) - - node := nodeconf.NodeConfig{ - PeerId: cfg.Account.PeerId, - Addresses: cfg.GrpcServer.Server.ListenAddrs, - SigningKey: cfg.Account.SigningKey, - EncryptionKey: cfg.Account.EncryptionKey, - Types: []nodeconf.NodeType{nodeconf.NodeTypeTree}, - } - nodes = append(nodes, node) - } - - encClientKey, _, err := encryptionkey.GenerateRandomRSAKeyPair(2048) - if err != nil { - panic(fmt.Sprintf("could not generate client encryption key: %s", err.Error())) - } - - signClientKey, _, err := signingkey.GenerateRandomEd25519KeyPair() - if err != nil { - panic(fmt.Sprintf("could not generate client signing key: %s", err.Error())) - } - - var clientConfigs []clconfig.Config - for i, c := range nodesMap.Clients { - cfg, err := genClientConfig(c.Addresses, c.APIAddresses, encClientKey, signClientKey, i+1) - if err != nil { - panic(fmt.Sprintf("could not generate the config file: %s", err.Error())) - } - clientConfigs = append(clientConfigs, cfg) - } - - var consConfigs []consconfig.Config - for _, n := range nodesMap.Consensus { - cfg, err := genConsensusConfig(n.Addresses) - if err != nil { - panic(fmt.Sprintf("could not generate the config file: %s", err.Error())) - } - consConfigs = append(consConfigs, cfg) - nodes = append(nodes, nodeconf.NodeConfig{ - PeerId: cfg.Account.PeerId, - Addresses: n.Addresses, - Types: []nodeconf.NodeType{nodeconf.NodeTypeConsensus}, - }) - } - var fileConfigs []fconfig.Config - for i, n := range nodesMap.FileNodes { - cfg, err := getFileNodeConfig(n.Addresses, i+1) - if err != nil { - panic(fmt.Sprintf("could not generate the config file: %s", err.Error())) - } - fileConfigs = append(fileConfigs, cfg) - nodes = append(nodes, nodeconf.NodeConfig{ - PeerId: cfg.Account.PeerId, - Addresses: n.Addresses, - Types: []nodeconf.NodeType{nodeconf.NodeTypeFile}, - }) - } - - for idx := range configs { - configs[idx].Nodes = nodes - } - for idx := range clientConfigs { - clientConfigs[idx].Nodes = nodes - } - - // saving configs - configsPath := fmt.Sprintf("%s/configs", *flagEtcPath) - createDir := func() { - err := os.Mkdir(configsPath, os.ModePerm) - if err != nil { - panic(fmt.Sprintf("failed to create the configs directory: %v", err)) - } - } - if _, err := os.Stat(configsPath); os.IsNotExist(err) { - createDir() - } else { - err = os.RemoveAll(configsPath) - if err != nil { - panic(fmt.Sprintf("failed to remove the configs directory: %v", err)) - } - createDir() - } - for idx, cfg := range configs { - path := fmt.Sprintf("%s/node%d.yml", configsPath, idx+1) - bytes, err := yaml.Marshal(cfg) - if err != nil { - panic(fmt.Sprintf("could not marshal the keys: %v", err)) - } - - err = os.WriteFile(path, bytes, os.ModePerm) - if err != nil { - panic(fmt.Sprintf("could not write the config to file: %v", err)) - } - } - for idx, cfg := range clientConfigs { - path := fmt.Sprintf("%s/client%d.yml", configsPath, idx+1) - bytes, err := yaml.Marshal(cfg) - if err != nil { - panic(fmt.Sprintf("could not marshal the keys: %v", err)) - } - - err = os.WriteFile(path, bytes, os.ModePerm) - if err != nil { - panic(fmt.Sprintf("could not write the config to file: %v", err)) - } - } - for idx, cfg := range consConfigs { - path := fmt.Sprintf("%s/cons%d.yml", configsPath, idx+1) - bytes, err := yaml.Marshal(cfg) - if err != nil { - panic(fmt.Sprintf("could not marshal the keys: %v", err)) - } - - err = os.WriteFile(path, bytes, os.ModePerm) - if err != nil { - panic(fmt.Sprintf("could not write the config to file: %v", err)) - } - } - for idx, cfg := range fileConfigs { - path := fmt.Sprintf("%s/file%d.yml", configsPath, idx+1) - bytes, err := yaml.Marshal(cfg) - if err != nil { - panic(fmt.Sprintf("could not marshal the keys: %v", err)) - } - - err = os.WriteFile(path, bytes, os.ModePerm) - if err != nil { - panic(fmt.Sprintf("could not write the config to file: %v", err)) - } - } -} - -func genNodeConfig(addresses []string, apiAddresses []string, num int) (config.Config, error) { - encKey, _, err := encryptionkey.GenerateRandomRSAKeyPair(2048) - if err != nil { - return config.Config{}, err - } - - signKey, _, err := signingkey.GenerateRandomEd25519KeyPair() - if err != nil { - return config.Config{}, err - } - - encEncKey, err := keys.EncodeKeyToString(encKey) - if err != nil { - return config.Config{}, err - } - - encSignKey, err := keys.EncodeKeyToString(signKey) - if err != nil { - return config.Config{}, err - } - - peerID, err := peer.IdFromSigningPubKey(signKey.GetPublic()) - if err != nil { - return config.Config{}, err - } - - return config.Config{ - GrpcServer: net.Config{ - Server: net.ServerConfig{ - ListenAddrs: addresses, - }, - Stream: net.StreamConfig{ - TimeoutMilliseconds: 1000, - MaxMsgSizeMb: 256, - }, - }, - Storage: storage.Config{Path: fmt.Sprintf("db/node/%d/data", num)}, - Account: commonaccount.Config{ - PeerId: peerID.String(), - PeerKey: encSignKey, - SigningKey: encSignKey, - EncryptionKey: encEncKey, - }, - APIServer: net.Config{ - Server: net.ServerConfig{ - ListenAddrs: apiAddresses, - }, - Stream: net.StreamConfig{ - TimeoutMilliseconds: 1000, - MaxMsgSizeMb: 256, - }, - }, - Space: commonspace.Config{ - GCTTL: 60, - SyncPeriod: 600, - }, - }, nil -} - -func genClientConfig(addresses []string, apiAddresses []string, encKey encryptionkey.PrivKey, signKey signingkey.PrivKey, num int) (clconfig.Config, error) { - peerKey, _, err := signingkey.GenerateRandomEd25519KeyPair() - if err != nil { - return clconfig.Config{}, err - } - - encEncKey, err := keys.EncodeKeyToString(encKey) - if err != nil { - return clconfig.Config{}, err - } - - encSignKey, err := keys.EncodeKeyToString(signKey) - if err != nil { - return clconfig.Config{}, err - } - - encPeerKey, err := keys.EncodeKeyToString(peerKey) - if err != nil { - return clconfig.Config{}, err - } - - peerID, err := peer.IdFromSigningPubKey(peerKey.GetPublic()) - if err != nil { - return clconfig.Config{}, err - } - - return clconfig.Config{ - GrpcServer: net.Config{ - Server: net.ServerConfig{ - ListenAddrs: addresses, - }, - Stream: net.StreamConfig{ - TimeoutMilliseconds: 1000, - MaxMsgSizeMb: 256, - }, - }, - Storage: badgerprovider.Config{Path: fmt.Sprintf("db/client/%d", num)}, - Account: commonaccount.Config{ - PeerId: peerID.String(), - PeerKey: encPeerKey, - SigningKey: encSignKey, - EncryptionKey: encEncKey, - }, - APIServer: net.Config{ - Server: net.ServerConfig{ - ListenAddrs: apiAddresses, - }, - Stream: net.StreamConfig{ - TimeoutMilliseconds: 1000, - MaxMsgSizeMb: 256, - }, - }, - Space: commonspace.Config{ - GCTTL: 60, - SyncPeriod: 20, - }, - }, nil -} - -func genConsensusConfig(addresses []string) (consconfig.Config, error) { - encKey, _, err := encryptionkey.GenerateRandomRSAKeyPair(2048) - if err != nil { - return consconfig.Config{}, err - } - - signKey, _, err := signingkey.GenerateRandomEd25519KeyPair() - if err != nil { - return consconfig.Config{}, err - } - - encEncKey, err := keys.EncodeKeyToString(encKey) - if err != nil { - return consconfig.Config{}, err - } - - encSignKey, err := keys.EncodeKeyToString(signKey) - if err != nil { - return consconfig.Config{}, err - } - - peerID, err := peer.IdFromSigningPubKey(signKey.GetPublic()) - if err != nil { - return consconfig.Config{}, err - } - - return consconfig.Config{ - GrpcServer: net.Config{ - Server: net.ServerConfig{ - ListenAddrs: addresses, - }, - Stream: net.StreamConfig{ - TimeoutMilliseconds: 1000, - MaxMsgSizeMb: 256, - }, - }, - Account: commonaccount.Config{ - PeerId: peerID.String(), - PeerKey: encSignKey, - SigningKey: encSignKey, - EncryptionKey: encEncKey, - }, - Mongo: consconfig.Mongo{ - Connect: "mongodb://localhost:27017/?w=majority", - Database: "consensus", - LogCollection: "log", - }, - }, nil -} - -func getFileNodeConfig(addresses []string, num int) (fconfig.Config, error) { - encKey, _, err := encryptionkey.GenerateRandomRSAKeyPair(2048) - if err != nil { - return fconfig.Config{}, err - } - - signKey, _, err := signingkey.GenerateRandomEd25519KeyPair() - if err != nil { - return fconfig.Config{}, err - } - - encEncKey, err := keys.EncodeKeyToString(encKey) - if err != nil { - return fconfig.Config{}, err - } - - encSignKey, err := keys.EncodeKeyToString(signKey) - if err != nil { - return fconfig.Config{}, err - } - - peerID, err := peer.IdFromSigningPubKey(signKey.GetPublic()) - if err != nil { - return fconfig.Config{}, err - } - return fconfig.Config{ - GrpcServer: net.Config{ - Server: net.ServerConfig{ - ListenAddrs: addresses, - }, - Stream: net.StreamConfig{ - TimeoutMilliseconds: 1000, - MaxMsgSizeMb: 256, - }, - }, - Account: commonaccount.Config{ - PeerId: peerID.String(), - PeerKey: encSignKey, - SigningKey: encSignKey, - EncryptionKey: encEncKey, - }, - FileStorePogreb: fconfig.FileStorePogreb{ - Path: fmt.Sprintf("db/file/%d", num), - }, - }, nil -} diff --git a/util/cmd/nodesgen/nodemap.yml b/util/cmd/nodesgen/nodemap.yml deleted file mode 100644 index 0a9d2d4e..00000000 --- a/util/cmd/nodesgen/nodemap.yml +++ /dev/null @@ -1,32 +0,0 @@ -nodes: - - grpcAddresses: - - "127.0.0.1:4430" - apiAddresses: - - "127.0.0.1:8080" - - grpcAddresses: - - "127.0.0.1:4431" - apiAddresses: - - "127.0.0.1:8081" - - grpcAddresses: - - "127.0.0.1:4432" - apiAddresses: - - "127.0.0.1:8082" -consensus: - - grpcAddresses: - - "127.0.0.1:4530" - - grpcAddresses: - - "127.0.0.1:4531" - - grpcAddresses: - - "127.0.0.1:4532" -clients: - - grpcAddresses: - - "127.0.0.1:4630" - apiAddresses: - - "127.0.0.1:8090" - - grpcAddresses: - - "127.0.0.1:4631" - apiAddresses: - - "127.0.0.1:8091" -fileNodes: - - grpcAddresses: - - "127.0.0.1:4730" \ No newline at end of file diff --git a/util/debug.json b/util/debug.json deleted file mode 100644 index 98832ab9..00000000 --- a/util/debug.json +++ /dev/null @@ -1 +0,0 @@ -{"level":"debug","ts":"2022-12-15T15:11:29.023+0300","logger":"app","caller":"app/app.go:178","msg":"all components started"} diff --git a/util/go.mod b/util/go.mod deleted file mode 100644 index 767324bf..00000000 --- a/util/go.mod +++ /dev/null @@ -1,70 +0,0 @@ -module github.com/anytypeio/go-anytype-infrastructure-experiments/util - -go 1.19 - -replace github.com/anytypeio/go-anytype-infrastructure-experiments/common => ../common - -replace github.com/anytypeio/go-anytype-infrastructure-experiments/consensus => ../consensus - -require ( - github.com/akrylysov/pogreb v0.10.1 - github.com/anytypeio/go-anytype-infrastructure-experiments/client v0.0.0-20221217135026-4eba413631b3 - github.com/anytypeio/go-anytype-infrastructure-experiments/common v0.0.0-00010101000000-000000000000 - github.com/anytypeio/go-anytype-infrastructure-experiments/consensus v0.0.0-00010101000000-000000000000 - github.com/anytypeio/go-anytype-infrastructure-experiments/node v0.0.0-20221217135026-4eba413631b3 - github.com/dgraph-io/badger/v3 v3.2103.3 - github.com/spf13/cobra v1.6.1 - github.com/zeebo/errs v1.3.0 - go.uber.org/zap v1.23.0 - gopkg.in/yaml.v3 v3.0.1 - storj.io/drpc v0.0.32 -) - -require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect - github.com/dgraph-io/ristretto v0.1.1 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect - github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/golang/snappy v0.0.3 // indirect - github.com/google/flatbuffers v1.12.1 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/ipfs/go-cid v0.3.2 // indirect - github.com/klauspost/compress v1.15.10 // indirect - github.com/klauspost/cpuid/v2 v2.1.1 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.23.2 // indirect - github.com/libp2p/go-openssl v0.1.0 // indirect - github.com/mattn/go-pointer v0.0.1 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/minio/sha256-simd v1.0.0 // indirect - github.com/mr-tron/base58 v1.2.0 // indirect - github.com/multiformats/go-base32 v0.1.0 // indirect - github.com/multiformats/go-base36 v0.1.0 // indirect - github.com/multiformats/go-multiaddr v0.7.0 // indirect - github.com/multiformats/go-multibase v0.1.1 // indirect - github.com/multiformats/go-multicodec v0.6.0 // indirect - github.com/multiformats/go-multihash v0.2.1 // indirect - github.com/multiformats/go-varint v0.0.6 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/prometheus/client_golang v1.13.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect - github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - go.opencensus.io v0.23.0 // indirect - go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.8.0 // indirect - golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d // indirect - golang.org/x/net v0.0.0-20220920183852-bf014ff85ad5 // indirect - golang.org/x/sys v0.0.0-20221010170243-090e33056c14 // indirect - google.golang.org/protobuf v1.28.1 // indirect - lukechampine.com/blake3 v1.1.7 // indirect -) diff --git a/util/go.sum b/util/go.sum deleted file mode 100644 index 4a5673cc..00000000 --- a/util/go.sum +++ /dev/null @@ -1,624 +0,0 @@ -cloud.google.com/go v0.26.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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/akrylysov/pogreb v0.10.1 h1:FqlR8VR7uCbJdfUob916tPM+idpKgeESDXOA1K0DK4w= -github.com/akrylysov/pogreb v0.10.1/go.mod h1:pNs6QmpQ1UlTJKDezuRWmaqkgUE2TuU0YTWyqJZ7+lI= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/anytypeio/go-anytype-infrastructure-experiments/client v0.0.0-20221217135026-4eba413631b3 h1:iX9taMq1d14DEvYWuFu5tMqu53UBdggo5A5GlIZ6MrI= -github.com/anytypeio/go-anytype-infrastructure-experiments/client v0.0.0-20221217135026-4eba413631b3/go.mod h1:7POs4rwsbW1PF4Yq16WsSa45aTkhiDuxURe8Lie2Rjg= -github.com/anytypeio/go-anytype-infrastructure-experiments/node v0.0.0-20221217135026-4eba413631b3 h1:isOhnFlIaZkRyh4a365vcvcgX85Ov8ajLdT5FELH5KM= -github.com/anytypeio/go-anytype-infrastructure-experiments/node v0.0.0-20221217135026-4eba413631b3/go.mod h1:Fh11elr9BbUclH39bVwKhnsQIEXIj2ArjdAgSmC65vM= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -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/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -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/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -github.com/dgraph-io/badger/v3 v3.2103.3 h1:s63J1pisDhKpzWslXFe+ChuthuZptpwTE6qEKoczPb4= -github.com/dgraph-io/badger/v3 v3.2103.3/go.mod h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw= -github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= -github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -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/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -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/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/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/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.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -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.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -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/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= -github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc= -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.10 h1:Ai8UzuomSCDw90e1qNMtb15msBXsNpH6gzkkENQNcJo= -github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.1.1 h1:t0wUqjowdm8ezddV5k0tLWVklVuvLJpoHeb4WBdydm0= -github.com/klauspost/cpuid/v2 v2.1.1/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -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/pty v1.1.1/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-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/libp2p/go-libp2p v0.23.2 h1:yqyTeKQJyofWXxEv/eEVUvOrGdt/9x+0PIQ4N1kaxmE= -github.com/libp2p/go-libp2p v0.23.2/go.mod h1:s9DEa5NLR4g+LZS+md5uGU4emjMWFiqkZr6hBTY8UxI= -github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo= -github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= -github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -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-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -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.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= -github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= -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.7.0 h1:gskHcdaCyPtp9XskVwtvEeQOG465sCohbQIirSyqxrc= -github.com/multiformats/go-multiaddr v0.7.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs= -github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI= -github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8= -github.com/multiformats/go-multicodec v0.6.0 h1:KhH2kSuCARyuJraYMFxrNO3DqIaYhOdS039kbhgVwpE= -github.com/multiformats/go-multicodec v0.6.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw= -github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= -github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= -github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY= -github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= -github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -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/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -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/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= -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/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -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/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= -github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs= -github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= -go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -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-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -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-20181114220301-adae6a3d119a/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-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220920183852-bf014ff85ad5 h1:KafLifaRFIuSJ5C+7CyFJOF9haxKNC1CEIDk8GX6X0k= -golang.org/x/net v0.0.0-20220920183852-bf014ff85ad5/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/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-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -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/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/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/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-20181116152217-5ac8a444bdc5/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/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20221010170243-090e33056c14 h1:k5II8e6QD8mITdi+okbbmR/cIyEbeXLBhy5Ha4nevyc= -golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -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/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/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-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/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-20191125144606-a911d9008d1f/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-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/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-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -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/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/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-20190418145605-e7d98fc518a7/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-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/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.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -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.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -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/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/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -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-20190418001031-e561f6794a2a/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/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= -lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -storj.io/drpc v0.0.32 h1:5p5ZwsK/VOgapaCu+oxaPVwO6UwIs+iwdMiD50+R4PI= -storj.io/drpc v0.0.32/go.mod h1:6rcOyR/QQkSTX/9L5ZGtlZaE2PtXTTZl8d+ulSeeYEg= diff --git a/common/util/keys/asymmetric/encryptionkey/encryptionkey.go b/util/keys/asymmetric/encryptionkey/encryptionkey.go similarity index 71% rename from common/util/keys/asymmetric/encryptionkey/encryptionkey.go rename to util/keys/asymmetric/encryptionkey/encryptionkey.go index 76e2f21f..bbd41aad 100644 --- a/common/util/keys/asymmetric/encryptionkey/encryptionkey.go +++ b/util/keys/asymmetric/encryptionkey/encryptionkey.go @@ -1,7 +1,7 @@ package encryptionkey import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" + "github.com/anytypeio/any-sync/util/keys" ) type PrivKey interface { diff --git a/common/util/keys/asymmetric/encryptionkey/rsa.go b/util/keys/asymmetric/encryptionkey/rsa.go similarity index 97% rename from common/util/keys/asymmetric/encryptionkey/rsa.go rename to util/keys/asymmetric/encryptionkey/rsa.go index a1afc2bb..467a22e4 100644 --- a/common/util/keys/asymmetric/encryptionkey/rsa.go +++ b/util/keys/asymmetric/encryptionkey/rsa.go @@ -7,7 +7,7 @@ import ( "crypto/subtle" "crypto/x509" "errors" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" + "github.com/anytypeio/any-sync/util/keys" "io" ) diff --git a/common/util/keys/asymmetric/signingkey/ed25519.go b/util/keys/asymmetric/signingkey/ed25519.go similarity index 97% rename from common/util/keys/asymmetric/signingkey/ed25519.go rename to util/keys/asymmetric/signingkey/ed25519.go index 3df2cd3d..cfa3f262 100644 --- a/common/util/keys/asymmetric/signingkey/ed25519.go +++ b/util/keys/asymmetric/signingkey/ed25519.go @@ -7,7 +7,7 @@ import ( "crypto/subtle" "errors" "fmt" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" + "github.com/anytypeio/any-sync/util/keys" "io" ) diff --git a/common/util/keys/asymmetric/signingkey/signingkey.go b/util/keys/asymmetric/signingkey/signingkey.go similarity index 72% rename from common/util/keys/asymmetric/signingkey/signingkey.go rename to util/keys/asymmetric/signingkey/signingkey.go index c5d09011..d07d939d 100644 --- a/common/util/keys/asymmetric/signingkey/signingkey.go +++ b/util/keys/asymmetric/signingkey/signingkey.go @@ -1,7 +1,7 @@ package signingkey import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys" + "github.com/anytypeio/any-sync/util/keys" ) type PrivKey interface { diff --git a/common/util/keys/decode.go b/util/keys/decode.go similarity index 100% rename from common/util/keys/decode.go rename to util/keys/decode.go diff --git a/common/util/keys/key.go b/util/keys/key.go similarity index 100% rename from common/util/keys/key.go rename to util/keys/key.go diff --git a/common/util/keys/symmetric/symmetric.go b/util/keys/symmetric/symmetric.go similarity index 100% rename from common/util/keys/symmetric/symmetric.go rename to util/keys/symmetric/symmetric.go diff --git a/common/util/peer/peer.go b/util/peer/peer.go similarity index 79% rename from common/util/peer/peer.go rename to util/peer/peer.go index 590a1ac0..9e77f299 100644 --- a/common/util/peer/peer.go +++ b/util/peer/peer.go @@ -1,7 +1,7 @@ package peer import ( - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/keys/asymmetric/signingkey" + "github.com/anytypeio/any-sync/util/keys/asymmetric/signingkey" "github.com/libp2p/go-libp2p/core/crypto" "github.com/libp2p/go-libp2p/core/peer" ) diff --git a/common/util/periodicsync/mock_periodicsync/mock_periodicsync.go b/util/periodicsync/mock_periodicsync/mock_periodicsync.go similarity index 92% rename from common/util/periodicsync/mock_periodicsync/mock_periodicsync.go rename to util/periodicsync/mock_periodicsync/mock_periodicsync.go index b032a401..356b063e 100644 --- a/common/util/periodicsync/mock_periodicsync/mock_periodicsync.go +++ b/util/periodicsync/mock_periodicsync/mock_periodicsync.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/periodicsync (interfaces: PeriodicSync) +// Source: github.com/anytypeio/any-sync/util/periodicsync (interfaces: PeriodicSync) // Package mock_periodicsync is a generated GoMock package. package mock_periodicsync diff --git a/common/util/periodicsync/periodicsync.go b/util/periodicsync/periodicsync.go similarity index 93% rename from common/util/periodicsync/periodicsync.go rename to util/periodicsync/periodicsync.go index d3d5e3e5..cce08842 100644 --- a/common/util/periodicsync/periodicsync.go +++ b/util/periodicsync/periodicsync.go @@ -1,4 +1,4 @@ -//go:generate mockgen -destination mock_periodicsync/mock_periodicsync.go github.com/anytypeio/go-anytype-infrastructure-experiments/common/util/periodicsync PeriodicSync +//go:generate mockgen -destination mock_periodicsync/mock_periodicsync.go github.com/anytypeio/any-sync/util/periodicsync PeriodicSync package periodicsync import ( diff --git a/common/util/periodicsync/periodicsync_test.go b/util/periodicsync/periodicsync_test.go similarity index 91% rename from common/util/periodicsync/periodicsync_test.go rename to util/periodicsync/periodicsync_test.go index c7802323..6ed933a4 100644 --- a/common/util/periodicsync/periodicsync_test.go +++ b/util/periodicsync/periodicsync_test.go @@ -2,7 +2,7 @@ package periodicsync import ( "context" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/app/logger" + "github.com/anytypeio/any-sync/app/logger" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" "testing" diff --git a/common/util/slice/slice.go b/util/slice/slice.go similarity index 100% rename from common/util/slice/slice.go rename to util/slice/slice.go